假设我的 DataFrame 看起来像这样:
Bank Entity Amount
JPM NY 5000
JPM NY 300
BOA LA 10000
BOA China 3000
MS Japan 21000
我想基于顶级实体进行输出,同时记住银行是不同的,因此 DataFrame 变为:
Bank Entity Amount
JPM NY 5000
BOA LA 10000
MS Japan 21000
我将如何创建这样的东西?我知道如何 sort_values
和 group_by
但我肯定做错了什么。
有什么想法吗?我确信这非常简单。
最佳答案
使用DataFrameGroupBy.idxmax
查找最大值的索引,然后按 loc
选择:
df = df.loc[df.groupby('Bank')['Amount'].idxmax()]
print (df)
Bank Entity Amount
2 BOA LA 10000
0 JPM NY 5000
4 MS Japan 21000
或者sort_values
首先然后使用GroupBy.last
:
df = df.sort_values('Amount').groupby('Bank', as_index=False).last()
print (df)
Bank Entity Amount
0 BOA LA 10000
1 JPM NY 5000
2 MS Japan 21000
关于python - 如何根据集团内的实体找到最大金额?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44591704/