第 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)
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)