我有以下DataFrame
输入:
A B C D E
2 3 4 5 6
1 1 2 3 2
2 3 4 5 6
我想添加一个新列,该行的最小值为A,B和C
输出:
A B C D E Goal
2 3 4 5 6 2
1 1 2 3 2 1
2 3 4 5 6 2
我尝试使用
df = df[['A','B','C]].min()
但是我会得到有关哈希列表的错误,而且我认为这将是整列的最小值,我只希望这些特定列的行的最小值。
我怎样才能最好地做到这一点?
答案 0 :(得分:4)
将axis = 1
添加到您的min
df['Goal'] = df[['A','B','C']].min(axis = 1)
答案 1 :(得分:3)
axis=1
列中使用df.assign(Goal=lambda d: d[['A', 'B', 'C']].min(1))
A B C D E Goal
0 2 3 4 5 6 2
1 1 1 2 3 2 1
2 2 3 4 5 6 2
在线解决方案所产生的副本不会更改原始文件
new = df[['A', 'B', 'C']].min(axis=1)
df['Goal'] = new
df
A B C D E Goal
0 2 3 4 5 6 2
1 1 1 2 3 2 1
2 2 3 4 5 6 2
将列添加到现有数据框
{{1}}
答案 2 :(得分:2)
您必须定义一个沿其应用min函数的轴,该轴将为1(列)。
df['ABC_row_min'] = df[['A', 'B', 'C']].min(axis = 1)