Python 如何在数据透视表上添加总和和计数
这是我的数据集Python 如何在数据透视表上添加总和和计数,python,pandas,dataframe,pivot-table,Python,Pandas,Dataframe,Pivot Table,这是我的数据集 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,
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
计数
是类别中的非零计数,总和
是类别中的总和一种可能的位动态解决方案是省略填充值=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
您的输出有
count
/sum
行和count
/sum
列。你确定这就是你想要的吗?@jpp如果你有任何现有库的更完整的答案,你可以回答为什么在列表中传递索引index=['customer\u id']
?@pyd-不必是DataFramewhat type(table)?,我得到的是AttributeError:'DataFrame'对象没有a=table.agg的属性'agg'
(['count','sum'])
这是熊猫0.20.0中新增的