我有一個多個最小值的熊貓數據框,但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