sge*_*tim 0 python group-by dataframe pandas pandas-groupby
假设我有一个如下所示的DataFrame:
Bank Name House This Wk
Barc Germany 100
Barc UK 300
Barc UK 500
JPM Japan 200
JPM NYC 100
BOA LA 900
BOA LA 50
BOA LA 50
DB Italy 45
Run Code Online (Sandbox Code Playgroud)
我想按银行名称进行分组,同时输出最大的房屋价值以及总价值......
例如,使用上面的示例将导致:
Bank Name Total House This Wk
Barc 900 UK 500
JPM 300 Japan 200
BOA 1000 LA 900
DB 45 Italy 45
Run Code Online (Sandbox Code Playgroud)
从本质上讲,它是Total按银行名称分组,但也输出最大的贡献者,House总数和贡献金额This Wk.
我该怎么做呢?
In [121]: df.groupby('Bank Name', group_keys=False) \
...: .apply(lambda x: x.nlargest(1, 'This Wk').assign(Total=x['This Wk'].sum())) \
...: [['Bank Name','Total','House','This Wk']]
...:
Out[121]:
Bank Name Total House This Wk
5 BOA 1000 LA 900
2 Barc 900 UK 500
8 DB 45 Italy 45
3 JPM 300 Japan 200
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |