在3个熊猫列中选择3个值中的最低者

时间:2019-03-04 18:48:19

标签: python pandas dataframe

我有一个特殊的问题,我没有找到一个可行的解决方案。我正在使用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

我真的什至不知道从哪里开始这样的任务,而且很难找到要提出问题的单词。谢谢你的时间!任何帮助将不胜感激。

2 个答案:

答案 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