python数据透视表对行数统计_python – 如何在数据透视表上添加总和和计数

本文展示了如何使用Python的pandas库在数据透视表中添加行数计数和数值总和。通过pivot_table函数创建透视表,并使用agg方法分别计算'count'和'sum',最后将结果合并展示。
摘要由CSDN通过智能技术生成

这是我的数据集

customer_id hour size

1 0 1

1 1 18

2 1 7

这是我的代码

table = a.pivot_table(index=['customer_id'],

columns='hour',

fill_value=0,

values='size')

这就是我所拥有的

hour 0 1

customer_id

1 1 18

2 8 7

我需要的

hour 0 1 count sum

customer_id

1 1 18 2 19

2 0 7 1 7

count 1 2

sum 1 25

count是类别中的非零计数,sum是类别中的总和

解决方法:

一个可能的动态解决方案是省略fill_value = 0:

table = a.pivot_table(index='customer_id',

columns='hour',

values='size')

print (table)

hour 0 1

customer_id

1 1.0 18.0

2 NaN 7.0

a = table.agg(['count','sum'])

b = table.T.agg(['count','sum']).T

print (table.fillna(0).append(a).join(b))

0 1 count sum

1 1.0 18.0 2.0 19.0

2 0.0 7.0 1.0 7.0

count 1.0 2.0 NaN NaN

sum 1.0 25.0 NaN NaN

标签:python,dataframe,pandas,pivot-table

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值