每行最小值,Python Pandas

时间:2019-02-26 13:48:00

标签: python pandas

我需要每个成员的最小距离(ID)。我的输入是这样的:

ID      ColA        DistA   DistB   DistC   DistD
1001    SomeValueA  11.08   12.07   9.89    19.77
1002    SomeValueB  16.04   55.78   17.55   3.55
1003    SomeValueC  12.09   16.78   5.44    27.44

预期结果将是:

ID      ColA        MinDistance
1001    SomeValueA  9.89
1002    SomeValueB  3.55
1003    SomeValueC  5.44

我正在考虑groupby,但是这样做的方向错误。我需要连续汇总。

任何帮助将不胜感激。

亲切的问候,M。

1 个答案:

答案 0 :(得分:6)

使用filter仅通过Dist函数获取带有min的列:

df['MinDistance'] = df.filter(like='Dist').min(axis=1)

或者如果可能的话,按iloc选择列:

df['MinDistance'] = df.iloc[:, 2:].min(axis=1)