python - 如何在数据框函数的不同列上同时使用 sum 和 count 函数?
问题描述
我的数据框如下:
Advertiser Product Price
Company1 A 10
Company1 A 10
Company1 B 8
Company2 C 5
Company3 D 3
我目前的功能是:
top_5_products = df.groupby(['Advertiser'])['Product'].value_counts(ascending = False).head(5)
它输出以下内容:
Advertiser Product
Company 1 A 2
B 1
Company 2 C 1
Company 3 D 1
修改我的函数以给出价格总和的最佳方法是什么?例子:
Advertiser Product Total Price
Company 1 A 2 20
B 1 8
Company 2 C 1 5
Company 3 D 1 3
我查看了 .agg 方法,但缺少使用不同列的示例。(我也不确定这是否是最好的方法)谢谢!
编辑***
df.groupby(['Advertiser', 'Product']).agg({'Product': 'count', 'Price': 'sum'}).head(5)
不起作用,因为它不再排序...
解决方案
groupby 与agg
df.groupby(['Advertiser', 'Product']).agg({'Product': 'count', 'Price': 'sum'})
推荐阅读
- java - 如何:带有退出选项的 Java 多个菜单?
- ruby-on-rails - nil:NilClass 的未定义方法 `upload' 你的意思是?加载
- c# - 在并发环境中使用 dbup
- javascript - 将实时视频部分添加到 MSE 缓冲区
- powershell - 将通讯组成员和每个成员的描述导出到 CSV
- r - 将字符(2012 年 12 月 13 日)转换为 R 中的日期
- javascript - 确定奇数和偶数
- r - RSelenium:抓取一个完整的可扩展表
- textures - Blender - 导出到带有纹理的 DAE
- sql - SQL 与每个 Partition 项的动态时间进行比较