Python 数据帧中的多个最小值
我有一个包含多个最小值的数据帧,但min函数只在列上选取一个Python 数据帧中的多个最小值,python,pandas,Python,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作为最低要求 您可以使用以下内容: df[df == df.min()].dropna() In [49]:
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作为最低要求 您可以使用以下内容:
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()
并且只返回一个值,因为:
此方法是ndarray.argmin的数据帧版本
并用以下方式解释这种情况:
如果最小值多次出现,则返回与第一次出现对应的索引
@Anu-使用
df2=df[df.groupby('A')['C'].transform('min')==df['C']]