我正在使用Pandas 0.10.1考慮此數(shù)據(jù)框:Date State City SalesToday SalesMTD SalesYTD20130320 stA ctA 20 400 100020130320 stA ctB 30 500 110020130320 stB ctC 10 500 90020130320 stB ctD 40 200 130020130320 stC ctF 30 300 800如何將每個(gè)州的小計(jì)分類?State City SalesToday SalesMTD SalesYTD stA ALL 50 900 2100 stA ctA 20 400 1000 stA ctB 30 500 1100我嘗試使用數(shù)據(jù)透視表,但列中只能有小計(jì)table = pivot_table(df, values=['SalesToday', 'SalesMTD','SalesYTD'],\ rows=['State','City'], aggfunc=np.sum, margins=True)我可以使用數(shù)據(jù)透視表在excel上實(shí)現(xiàn)此目標(biāo)。
3 回答

繁星點(diǎn)點(diǎn)滴滴
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
我認(rèn)為此小計(jì)示例代碼就是您想要的(類似于excel小計(jì))
我假設(shè)您要按A,B,C,D列進(jìn)行分組,而不是按E的列值進(jìn)行計(jì)數(shù)
main_df.groupby(['A', 'B', 'C']).apply(lambda sub_df: sub_df\
.pivot_table(index=['D'], values=['E'], aggfunc='count', margins=True)
輸出:
A B C D E
a 1
a a a b 2
c 2
all 5
a 3
b b a b 2
c 2
all 7
a 3
b b b b 6
c 2
d 3
all 14
添加回答
舉報(bào)
0/150
提交
取消