第 3 列中至少有两列 pandas python

Minimum of two columns in a 3rd column pandas python

df

Col1   Col2   Col3   Col4    Col5
3       1      22     13      0
5       4      10      12     14
1       2      1        1      1

and so on

代码

df['Col6'] = df.min(axis=1)

这将 return 所有 5 列中的最小值,但 我想要一个至少 return 2 列的列 第 4 列和第 1 列的最小值可以在第 6 列中说出。 我怎样才能得到它

预期输出:col1 和 col4 的最小值四舍五入到小数点后两位

df[6] = round(min(df[col4], df[col1]),2)

您可以按列表筛选两列,然后添加 Series.round:

df['Col6'] = df[['Col4','Col1']].min(axis=1).round(2)
print (df)
   Col1  Col2  Col3  Col4  Col5  Col6
0     3     1    22    13     0     3
1     5     4    10    12    14     5
2     1     2     1     1     1     1  

您的解决方案应该适用于 numpy.minimum and numpy.round:

df['Col6'] = np.round(np.minimum(df['Col4'], df['Col1']),2)