[英]In Pandas how to remove all subrows but keep one which has the highest value in a specific column in a multiIndex dataframe?
[英]Identifying which column in a dataframe has the highest value in python
我有一個 dataframe,它是 11 列乘 17000 行。 我試圖確定每行僅三列中的最大值。 例如,如果我的 dataframe 看起來像這樣:
國家 | 大陸 | 人口 M | 人口 F | 總人口 |
---|---|---|---|---|
我們 | 不適用 | 10M | 9M | 19M |
中國 | 亞洲 | 20M | 50公尺 | 70M |
英國 | 歐洲 | 75M | 10M | 85M |
我想在每個國家/地區找出是否有更高的 M 或 F 人口。
根據條件測試的結果,通過在 dataframe 中添加另一列,有一種簡單的方法...
請注意,如果相等,則默認為“F”。
import pandas as pd
df = pd.DataFrame({'country': ['a', 'b', 'c'], 'm' : [1,2,3], 'f':[3,2,1]})
df['M_or_F'] = 'F'
df.loc[df['m'] > df['f'], 'M_or_F'] = 'M'
print(df)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.