argmax()或idxmax()未提供最大值所在的右索引

时间:2018-02-06 15:25:46

标签: python python-3.x max argmax

我有一个子集数据框,我正在尝试查找卷列中最大卷的索引。在这种情况下,它应该是索引1428,但使用argmax或idxmcx它给出1431

combine1
Out[381]: 
       folder                   fn    volume
1428  SF_20141231  IF1501_20141231.csv  162.0000
1429  SF_20141231  IF1502_20141231.csv    4.0000
1430  SF_20141231  IF1503_20141231.csv    6.0000
1431  SF_20141231  IF1506_20141231.csv    7.0000
1432  SF_20141231  TF1503_20141231.csv    4.0000
1433  SF_20141231  TF1506_20141231.csv    0.0000
1434  SF_20141231  TF1509_20141231.csv    0.0000

我会用

combine1['volume'].idxmax(axis=0)
Out[385]: 1431

combine1['volume'].argmax()
Out[386]: 1431

这两个都不正确。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

@ user9240544,您需要使用to_numeric将列转换为float。参见下面的模型:

您会注意到,如果删除pair行,将得到'volume'作为字符串,这就是您得到的结果。

combine1['volume'] = pd.to_numeric(combine1['volume'])