[英]Pandas dataframe - sum of each column based on group
Panadas-每列的總和基於第一列
我有這個文本文件,其中包含表和其他3個列,分別指示“選擇”,“更新”和“插入”。 我想按表格進行分組,並在末尾對各列的總和進行總計。
df=data.groupby(['Table'])
print df.groupby(['Table'])["Select","Update","Insert"].agg('sum')
Text file has data in this format
Table Select Update Insert
A 10 8 5
B 12 2 0
C 10 2 4
B 19 3 1
D 13 0 5
A 11 7 3
Expected output
Table Select Update Insert
A 21 15 8
B 31 5 1
C 10 2 4
D 13 0 5
Total 75 22 18
帶有sum的df.groupby不能正確匯總每一列的數據。 如果聚合僅在一個列上完成,那很好,但是我終端上的輸出被弄亂了。
感謝您的幫助!
您可以嘗試: df.groupby(by='Table').sum()
獲取匯總表:
Select Update Insert
Table
A 21 15 8
B 31 5 1
C 10 2 4
D 13 0 5
和df.groupby(by='Table').sum().sum()
得出總計:
Select 75
Update 22
Insert 18
dtype: int64
您可以嘗試使用帶有邊距= True的熊貓“ pivot_table”函數
data={'Table':['A','B','C','B','D','A'],'Select':[10,12,10,19,13,11],'Update':[8,2,2,3,0,7],'Insert':[5,0,4,1,5,3]}
df =pd.DataFrame(data)
df2 =df.pivot_table(index ='Table',
margins=True,
margins_name='Total', # defaults to 'All'
aggfunc=sum)
df2.reset_index(inplace =True)
df2[['Table','Select','Update','Insert']]
然后您將獲得所需的輸出:
Table Select Update Insert
0 A 21 15 8
1 B 31 5 1
2 C 10 2 4
3 D 13 0 5
4 Total 75 22 18
希望這可以幫助!
Table ...
A 10 8 5 0.0 ... 0.0
A 11 7 3 0.0 ... 0.0
B 12 2 0 0.0 ... 0.0
B 19 3 1 0.0 ... 0.0
C 10 2 4 0.0 ... 0.0
D 13 0 5 0.0 ... 0.0
Table Select Update Insert 0.0 ... 0.0
[7 rows x 3 columns]
這是我用df.groupby(by='Table').sum()
獲得的輸出
似乎從.log文件加載數據時,數據格式不正確,無法供熊貓處理
這就是數據加載的方式
df=pd.DataFrame(data)
print df
Output of frame I get,
Table ... Insert
0 Table Select Update Insert ... NaN
1 A 10 8 5 ... NaN
2 B 12 2 0 ... NaN
3 C 10 2 4 ... NaN
4 B 19 3 1 ... NaN
5 D 13 0 5 ... NaN
6 A 11 7 3 ... NaN
versus
when I load in data frame using below,
data={'Table':['A','B','C','B','D','A'],'Select':[10,12,10,19,13,11],'Update':[8,2,2,3,0,7],'Insert':[5,0,4,1,5,3]}
output of print df is
{'Table': ['A', 'B', 'C', 'B', 'D', 'A'], 'Update': [8, 2, 2, 3, 0, 7], 'Select': [10, 12, 10, 19, 13, 11], 'Insert': [5, 0, 4, 1, 5, 3]}
and pivot_table provides the output as expected.
jitesh singla:如果您不介意,能否請您在Table列上提供有關ivot_table如何與group by一起工作以及如何匯總其他列的數據的詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.