dataframe两列取小
时间: 2023-07-06 14:35:18 浏览: 95
假设你有一个名为df的DataFrame,其中包含两列'A'和'B',你想要创建一个新的列'C',其中每个元素都是'A'和'B'中对应元素的最小值,那么你可以使用以下代码:
```
df['C'] = df[['A', 'B']].min(axis=1)
```
这将在df中创建一个新的列'C',其中每个元素都是'A'和'B'中对应元素的最小值。 `min`函数用于找到每行中最小的值,`axis=1`表示按行计算。
相关问题
R语言用mean函数对dataframe两列取均值
可以使用以下代码对R语言中的dataframe两列取均值:
```
# 创建一个示例dataframe
df <- data.frame(col1 = c(1, 2, 3), col2 = c(4, 5, 6))
# 使用mean函数对两列取均值
mean(df$col1)
mean(df$col2)
```
其中,`df$col1`和`df$col2`分别表示dataframe中的两列,通过`mean()`函数对其求均值。
一个dataframe两列进行比较,如果两个值相等不处理,如果两个值不相等,保留最小的值,然后把最大值比最小值多的数取出来放入一个dataframe
可以使用如下代码实现:
```python
import pandas as pd
# 假设df为原始的dataframe,col1和col2为需要比较的两列
df = pd.DataFrame({'col1': [1, 2, 3, 4, 5], 'col2': [1, 2, 5, 6, 7]})
# 比较两列,取出最小值
df['min_val'] = df[['col1', 'col2']].min(axis=1)
# 找出最大值比最小值多的数
diff = df[['col1', 'col2']].max(axis=1) - df['min_val']
# 将结果放入新的dataframe
result_df = df.loc[diff > 0, ['col1', 'col2', 'min_val']]
```
解释一下代码:
首先,我们创建一个包含两列数据的dataframe,名为df。然后,我们使用pandas的min函数比较两列的值,取出最小值,将结果存放在新的一列min_val中。
接下来,我们计算最大值比最小值多的数,将结果存放在变量diff中。
最后,我们使用loc函数找出最大值比最小值多的数所在的行,并将结果存放在新的dataframe中,名为result_df。result_df包含三列数据,分别为col1、col2和min_val。
阅读全文