python - Using pivot / aggregation in dataframe
问题描述
have a data frame with columns name value and date in format of dd
name value date
mark 200 1
john 300 1
mark 200 2
mark 200 2
mark 300 2
john 300 3
john 400 2
using pivot and aggregation need to convert into this using pandas
date name count(date) value
1 mark 1 200
2 mark 3 700
1 john 1 300
2 john 2 300
3 john 1 400
解决方案
GroupBy.agg
与元组列表中的聚合函数一起使用:
df1 = (df.groupby(['date','name'])['value']
.agg([('count', 'size'), ('value','sum')])
.reset_index())
print (df1)
date name count value
0 1 john 1 300
1 1 mark 1 200
2 2 john 1 400
3 2 mark 3 700
4 3 john 1 300
在 pandas 0.25+ 中使用命名聚合的另一个解决方案:
df1 = (df.groupby(['date','name'])
.agg(count=('date', 'size'), value= ('value','sum'))
.reset_index())
print (df1)
date name count value
0 1 john 1 300
1 1 mark 1 200
2 2 john 1 400
3 2 mark 3 700
4 3 john 1 300
推荐阅读
- kotlin - 多个按钮的 OnClickListener 不起作用
- bash - Bash 脚本:将字符串编码为 base64 到变量中
- python - 如何上传存储在内存中的文件?
- r - 使用 facet_zoom 放大时间序列图
- python - sklearn LinearDiscriminantAnalysis 中的先验顺序
- amazon-web-services - Serverless 创建的 AWS Cognito 不发送确认电子邮件
- flutter - Flutter TextFormFeild 问题
- reactjs - 不确定我在使用 CORS、woocommerce API 和单独的 React 网站时做错了什么
- java - java.io.IOException:http1_0 内容,收到的字节数:112
- .htaccess - htaccess:如果 webp 存在,则提供 webp 图像而不是 jpg 或 png 导致 404