我们说我有这个数据框
> df = pd.DataFrame({'A': [1,5], 'B':[3,4]})
A B
0 1 3
1 5 4
我可以通过以下方式获得每行的最小值:
> df.min(1)
0 1
1 4
dtype: int64
或其索引:
> df.idxmin(1)
0 A
1 B
dtype: object
然而,这意味着搜索最小值两次。有没有办法使用idxmin
结果来访问相应的列并获得最小值(不调用min
)?
修改:我正在寻找比再次呼叫min
更快的东西。从理论上讲,这应该可以在列被索引时实现。
答案 0 :(得分:1)
要获取列表中的值,您可以执行以下操作:
> indicies = df.idxmin(1)
> [df.iloc[k][indicies[k]] for k in range(len(indicies))]
[1, 4]