我有一个包含多个最小值的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和MAN3作为最小值?
答案 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.argmin
在doc中解释了这种情况:
如果出现多次最小值,则返回与第一次出现相对应的索引。