2017-04-03 13 views
2

にインデックス付きパンダ行列を変換がデータフレームを考える平坦データフレーム

A B C D E F 
0 foo 123 4 5 0 1 
1 foo 123 4 0 9 1 
2 bar 33 0 0 3 5 

目標は、特定の列( 'C'、 'D' を加算することで、 'E'、F ')(他の列を使用して、' キーを達成するようにA」および 'B')を:

A B C D E F 
0 foo 123 8 5 9 2 
2 bar 33 0 0 3 5 

を私が試した:

[出力]
df.groupby(['A', 'B']).sum() 

 C D E F 
A B    
bar 33 0 0 3 5 
foo 123 8 5 9 2 

は、どのように私は非インデックス行列に戻ってそれを変更できますか?すなわち

A B C D E F 
0 foo 123 8 5 9 2 
2 bar 33 0 0 3 5 

答えて

2

あなたは.reset_index()を追加する必要があります。

df.groupby(['A','B']).sum().reset_index() 

    A B C D E F 
0 bar 33 0 0 3 5 
1 foo 123 8 5 9 2 

または

df.set_index(['A','B']).sum(level=[0,1]).reset_index() 

    A B C D E F 
0 bar 33 0 0 3 5 
1 foo 123 8 5 9 2 
あなたはリターン dfのパラメータ as_index=Falseを使用することができます
2

df1 = df.groupby(['A', 'B'], as_index=False).sum() 
print (df1) 
    A B C D E F 
0 bar 33 0 0 3 5 
1 foo 123 8 5 9 2 
関連する問題