我有一个特殊的问题,我没有找到一个可行的解决方案。我正在使用Python处理Pandas。
我在Pandas数据框中有三列,例如:
x y z
3 6 9
5 nan 4
4 nan nan
nan nan nan
我想创建第四列,该列选择每行中列x y z
的最低值,并在新列中报告,或者如果缺少,则仅报告'nan'。
预期输出如下:
x y z lowest
3 6 9 3
5 nan 4 4
4 nan nan 4
nan nan nan nan
我真的什至不知道从哪里开始这样的任务,而且很难找到要提出问题的单词。谢谢你的时间!任何帮助将不胜感激。
答案 0 :(得分:2)
在axis=1
上使用df.min()
:
df['lowest']=df.min(axis=1)
print(df)
x y z lowest
0 3.0 6.0 9.0 3.0
1 5.0 NaN 4.0 4.0
2 4.0 NaN NaN 4.0
3 NaN NaN NaN NaN
答案 1 :(得分:1)
请您尝试以下。
df.assign(lowest=df.values.min(1))
运行上述命令后,df值将如下所示。
x y z lowest
0 3.0 6.0 9.0 3.0
1 5.0 NaN 4.0 NaN
2 4.0 NaN NaN NaN
3 NaN NaN NaN NaN