从一列中选择最大值,从另一列中选择最小值

2024-03-29 06:08:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的数据帧

A         B
25        0.5
21        0.6
17        0.7
14        0.7   <--- this is the row I want
12        0.3

我想选择最大值B和最小值A。你知道吗

有什么简单的窍门吗?你知道吗


Tags: the数据isthisrowwant窍门
2条回答

IIUC,使用where+idxmin

df.iloc[df.where(df.B.eq(df.B.max())).A.idxmin()]

A    14.0
B     0.7
Name: 3, dtype: float64

首先按max值比较列B,然后按^{}获得最小A的索引,最后按^{}选择:

a = df.loc[df['B'] == df['B'].max(), 'A'].idxmin()
print (a)
3

#for one row DataFrame use [[]]
df = df.loc[[a]]
print (df)
    A    B
3  14  0.7

#for Series use []
s = df.loc[a]
print (s)
A    14.0
B     0.7
Name: 3, dtype: float64

细节

print (df.loc[df['B'] == df['B'].max(), 'A'])

2    17
3    14
Name: A, dtype: int64

相关问题 更多 >