我使用下面的pivot_table命令来满足我的要求,即以下列格式显示结果
active_def = pd.pivot_table(data, index = 'InMonth', columns= 'OutMonth', aggfunc= 'count')['ID']
我需要在具有行总数的数据透视表末尾的列。类似地,一行朝向具有列总数的行,一个单元具有表中所有值的总和。 (简单来说,类似于我们通常在excel中获得的数据透视)。有pythonized方式吗?我知道我们可以使用data.sum(axis=0/1)
单独获取,但是,我正在寻找更好的方法来实现它。
谢谢!
答案 0 :(得分:2)
使用@Parfait建议:
PyNumber_Multiply
OR
你可以使用这个单行:
数据设置
active_def = pd.pivot_table(data, index = 'InMonth', columns= 'OutMonth', aggfunc= 'count', margins=True)['ID']
计算行,列和整个数据框的总计:
df = pd.DataFrame(data=np.triu(np.random.randint(0,13,(12,12))),
columns=np.arange(1,13),
index=np.arange(1,13))
输出:
df.append(pd.Series(df.sum(),name='Total'))\
.assign(Total=df.sum(1))\
.set_value('Total','Total',df.values.sum())