如何对dataframe两列求最小值
时间: 2023-12-06 16:05:02 浏览: 31
可以使用`pandas`库中的`min()`方法来对`dataframe`中的两列求最小值。假设`df`是包含两列`col1`和`col2`的`dataframe`,则可以使用以下代码:
```python
df[['col1', 'col2']].min(axis=1)
```
其中`axis=1`表示对行进行操作,即对每一行中的`col1`和`col2`求最小值。最终返回一个包含每一行最小值的`series`类型的对象。
相关问题
dataframe两列取小
如果你使用的是Python中的pandas库,那么你可以使用`min`函数来获取两列中的最小值。假设你的dataframe为`df`,列名分别为`col1`和`col2`,那么可以使用以下代码来获取最小值:
```
df['min_col'] = df[['col1', 'col2']].min(axis=1)
```
这行代码会在dataframe中新增一列`min_col`,其中每一个元素表示`col1`和`col2`中的最小值。你也可以将`axis=1`改为`axis=0`来获取每一列中的最小值。
一个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。