2024-03-29 06:08:34 发布
网友
我有一个这样的数据帧
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。你知道吗
B
A
有什么简单的窍门吗?你知道吗
IIUC,使用where+idxmin:
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的索引,最后按^{}选择:
max
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
IIUC,使用
where
+idxmin
:首先按} 获得最小} 选择:
max
值比较列B
,然后按^{A
的索引,最后按^{细节:
相关问题 更多 >
编程相关推荐