我有以下数据:
Employee Account Currency Amount Location
Test 2 Basic USD 3000 Airport
Test 2 Net USD 2000 Airport
Test 1 Basic USD 4000 Town
Test 1 Net USD 3000 Town
Test 3 Basic GBP 5000 Town
Test 3 Net GBP 4000 Town
我可以通过执行以下操作来调整轴心位置:
import pandas as pd
table = pd.pivot_table(df, values=['Amount'], index=['Location', 'Employee'], columns=['Account', 'Currency'], fill_value=0, aggfunc=np.sum, dropna=True)
输出:
Amount
Account Basic Net
Currency GBP USD GBP USD
Location Employee
Airport Test 2 0 3000 0 2000
Town Test 1 0 4000 0 3000
Test 3 5000 0 4000 0
我如何才能实现按位置小计,然后在底部的最后一个总数。 期望输出:
Amount
Account Basic Net
Currency GBP USD GBP USD
Location Employee
Airport Test 2 0 3000 0 2000
Airport Total 3000 0 2000
Town Test 1 0 4000 0 3000
Test 3 5000 0 4000 0
Town Total 5000 4000 4000 3000
Grand Total 5000 7000 4000 5000
我试着跟着following。但它没有给出所需的输出。 谢谢您。
这是一个两行程序,应该可以工作。
loc
方法允许按索引对行进行子集设置,因为有一个多索引,所以我为左侧的行插入点提供一个元组。使用不带元组的“Town”,会拉取索引的所有相应级别。在第二行中,我必须从
sum
中删除DataFrame的最后一行,并使用其shape属性执行此操作。您的数据透视表
pandas.concat
旧答案
为子孙后代
生成小计
一起
相关问题 更多 >
编程相关推荐