我有一个多个最小值的熊猫数据框,但min函数只在列上选取一个。熊猫数据框中的多个最小值
ABCD 0.000000
JKLM 0.016535
CAN1 0.381729
MET2 0.275013
INDI 0.149280
MAN3 0.000000
temp2.ix[temp2.idxmin()]
只挑选是ABCD与0.0
一个值我想取两者ABCD和MAN3作为最小??
我有一个多个最小值的熊猫数据框,但min函数只在列上选取一个。熊猫数据框中的多个最小值
ABCD 0.000000
JKLM 0.016535
CAN1 0.381729
MET2 0.275013
INDI 0.149280
MAN3 0.000000
temp2.ix[temp2.idxmin()]
只挑选是ABCD与0.0
一个值我想取两者ABCD和MAN3作为最小??
您可以使用下列内容:
df[df == df.min()].dropna()
In [49]: df[df == df.min()].dropna()
Out[49]:
1
0
ABCD 0
MAN3 0
比较最小值为布尔索引
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
下一个解决方案是:
df.where(df == df.min()).dropna()
而且df.idxmin()
只返回一个值,这是因为:
此方法是ndarray.argmin的DataFrame版本。
而且ndarray.argmin
在doc解释这样的情况:
在最小值的多次出现的情况下,返回对应于第一次出现的索引。
谢谢:)作品太棒了! – sane