Helllo,
我有以下数据:
date item_type item_name gold_exit
2018-01-25 type1 item1 1
2018-01-25 type2 item2 2
2018-01-25 type3 item3 3
2018-01-25 type1 item4 4
2018-01-25 type2 item5 5
2018-01-26 type3 item6 6
2018-01-26 type1 item7 7
2018-01-26 type2 item8 8
2018-01-26 type3 item9 9
2018-01-26 type1 item10 10
2018-01-27 type2 item11 11
2018-01-27 type3 item12 12
2018-01-27 type1 item13 13
2018-01-27 type2 item14 14
2018-01-27 type3 item15 15
2018-01-28 type1 item16 16
2018-01-28 type2 item17 17
2018-01-28 type3 item18 18
2018-01-28 type1 item19 19
2018-01-28 type2 item20 20
2018-01-29 type3 item21 21
2018-01-29 type1 item22 22
2018-01-29 type2 item23 23
2018-01-29 type3 item24 24
2018-01-29 type1 item25 25
2018-01-30 type2 item26 26
2018-01-30 type3 item27 27
2018-01-30 type1 item28 28
2018-01-30 type2 item29 29
2018-01-30 type3 item30 30
我已经设法使用它自己转动:
import pandas as pd
import numpy as np
df = pd.read_csv(r"C:\Users\user\Desktop\sql_values.csv")
table = pd.pivot_table(df,index=["date","item_type","item_name"],
values=["gold_exit"],
aggfunc=[np.sum])
print(table)
这就是我得到的:
date item_type item_name Sum - gold_exit
2018-01-25 type1 item1 1
item4 4
type2 item2 2
item5 5
type3 item3 3
2018-01-26 type1 item10 10
item7 7
type2 item8 8
type3 item6 6
item9 9
2018-01-27 type1 item13 13
type2 item11 11
item14 14
type3 item12 12
item15 15
2018-01-28 type1 item16 16
item19 19
type2 item17 17
item20 20
type3 item18 18
2018-01-29 type1 item22 22
item25 25
type2 item23 23
type3 item21 21
item24 24
2018-01-30 type1 item28 28
type2 item26 26
item29 29
type3 item27 27
item30 30
通过添加小计,我到底应该做什么才能到达这里?
date item_type item_name Sum - gold_exit
2018-01-25 type1
item1 1
item4 4
type1 Result 5
type2
item2 2
item5 5
type2 Result 7
type3
item3 3
type3 Result 3...
我先看过这个问题 - Pivot table subtotals in Pandas - 但这并不符合我的需要。
有人可以帮忙吗? 感谢
答案 0 :(得分:0)
这需要pd.concat
和sum
通知我将para传递给级别,因为您希望获得索引日期和item_type的小计
s=pd.concat([table,table.sum(level=[0,1]).assign(iten_name='result').set_index('iten_name',append=True)]).sort_index(level=[0,1,2])
s
Out[709]:
sum
gold_exit
date item_type item_name
2018-01-25 type1 item1 1
item4 4
result 5
type2 item2 2
item5 5
result 7
type3 item3 3
result 3
2018-01-26 type1 item10 10
item7 7
result 17
type2 item8 8
result 8
type3 item6 6
item9 9
result 15
2018-01-27 type1 item13 13
result 13
type2 item11 11
item14 14
result 25
type3 item12 12
item15 15
result 27
2018-01-28 type1 item16 16
item19 19
result 35
type2 item17 17
item20 20
result 37
type3 item18 18
result 18
2018-01-29 type1 item22 22
item25 25
result 47
type2 item23 23
result 23
type3 item21 21
item24 24
result 45
2018-01-30 type1 item28 28
result 28
type2 item26 26
item29 29
result 55
type3 item27 27
item30 30
result 57