如何访问列名idxmin / idxmax返回的值?

时间:2018-03-13 13:30:32

标签: python dataframe indexing

我们说我有这个数据框

> 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更快的东西。从理论上讲,这应该可以在列被索引时实现。

1 个答案:

答案 0 :(得分:1)

要获取列表中的值,您可以执行以下操作:

> indicies = df.idxmin(1)
> [df.iloc[k][indicies[k]] for k in range(len(indicies))]
  [1, 4]