2015-11-04 50 views
1

我有數據幀是這樣的:熊貓groupping值

a b c d e 
0 0 1 2 1 0 
1 3 0 0 4 3 
2 3 4 0 4 2 
3 4 1 0 4 3 
4 2 1 3 4 3 
5 3 2 0 3 3 
6 2 1 1 1 0 
7 1 1 0 3 3 
8 3 3 3 3 4 
9 2 3 4 2 2 

我下面的命令:

df.groupby('A').sum() 

,我也得到:

b c d e 
a    
0 1 2 1 0 
1 1 0 3 3 
2 5 8 7 5 
3 9 3 14 12 
4 1 0 4 3 

此後,我想訪問

labels = df['A'] 

但我有一個錯誤,沒有這樣的列。

那麼熊貓有一些語法來得到這樣的東西嗎?

a b c d e    
0 0 1 2 1 0 
1 1 1 0 3 3 
2 2 5 8 7 5 
3 3 9 3 14 12 
4 4 1 0 4 3 

我需要的列B,C,d,E的所有值之和爲列與相關指數

回答

1

你可以只是df.index訪問索引,並將其重新添加到您的數據幀作爲另一列。

grouped_df = df.groupby('A').sum() 
grouped_df['A'] = grouped_df.index 
grouped_df.sum(axis=1) 

另外,GROUPBY有 'as_index' 選項可以保留列 'A' GROUPBY( 'A',as_index = FALSE) 或GROUPBY後,您可以使用reset_index把列 'A'背部。

+0

謝謝!這個對我有用! – DmitryZ