Pandas Dataframe中的多个最小值

时间:2015-12-01 06:41:05

标签: python pandas

我有一个包含多个最小值的pandas数据帧,但是min函数只选择列上的一个。

 ABCD     0.000000
 JKLM     0.016535
 CAN1     0.381729
 MET2     0.275013
 INDI     0.149280
 MAN3     0.000000

temp2.ix[temp2.idxmin()]只选择一个带有0.0

的ABCD值

我想把ABCD和MAN3作为最小值?

3 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

df[df == df.min()].dropna()

In [49]: df[df == df.min()].dropna()
Out[49]:
    1
0
ABCD  0
MAN3  0

答案 1 :(得分:1)

比较布尔索引的最小值

df
Out[42]: 
             b
a             
ABCD  0.000000
JKLM  0.016535
CAN1  0.381729
MET2  0.275013
INDI  0.149280
MAN3  0.000000

df[df.b == df.b.min()]
Out[43]: 
      b
a      
ABCD  0
MAN3  0

答案 2 :(得分:1)

下一个解决方案是:

if (req.body && req.body._id) {
    // do stuff
}

df.idxmin()只返回一个值,因为:

  

此方法是ndarray.argmin的DataFrame版本。

ndarray.argmindoc中解释了这种情况:

  

如果出现多次最小值,则返回与第一次出现相对应的索引。