基于 pandas 数据透视表不同逻辑的不同 aggfunc
我想将不同的“aggfunc”逻辑应用于 pandas 数据透视表。假设我有以下 df.
df1 = pd.DataFrame({'Country':['Italy', 'Italy', 'Italy', 'Germany','Germany', 'Germany', 'France', 'France'],
'City':['Rome','Rome',"Florence",'Berlin', 'Munich', 'Koln', "Paris", "Paris"],
'Numbers':[100,200,300,400,500,600,700,800]})
我想计算每个城市的“数字”总和以及基于国家/地区的“数字”平均值。我应该得到以下输出。
我必须使用 pd.pivot。但如果您有更好的解决方案,您也可以提出建议。
你能帮我一下吗?
国家 | 城市 | SUM | MEAN |
---|---|---|---|
法国 | 巴黎 | 1500 | 750 |
德国 | 柏林 | 400 | 500 |
德国 | 科隆 | 600 | 500 |
德国 | 慕尼黑 | 500 | 500 |
意大利 | 佛罗伦萨 | 300 | 200 |
意大利 | 罗马 | 300 | 200 |
我尝试使用以下方法,但显然不起作用。
pd.pivot_table(df1, values = 'Numbers', index=['Country', 'City'], aggfunc=[np.sum, np.mean])
I would like to apply different "aggfunc" logics to a pandas pivot table. Lets suppose that I have the below df.
df1 = pd.DataFrame({'Country':['Italy', 'Italy', 'Italy', 'Germany','Germany', 'Germany', 'France', 'France'],
'City':['Rome','Rome',"Florence",'Berlin', 'Munich', 'Koln', "Paris", "Paris"],
'Numbers':[100,200,300,400,500,600,700,800]})
I would like to calculate the sum of "Numbers" per City and the mean of "Numbers" based on the Country. I should get the below output.
I must use the pd.pivot. But if you have better solutions, you can ALSO suggest that.
Would you be able to help me out?
Country | City | SUM | MEAN |
---|---|---|---|
France | Paris | 1500 | 750 |
Germany | Berlin | 400 | 500 |
Germany | Köln | 600 | 500 |
Germany | Munich | 500 | 500 |
Italy | Florence | 300 | 200 |
Italy | Rome | 300 | 200 |
I have tried using the following but it obviously does not work.
pd.pivot_table(df1, values = 'Numbers', index=['Country', 'City'], aggfunc=[np.sum, np.mean])
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用GroupBy.transform
use
GroupBy.transform