2017-06-26 5 views
1

を合計し、私は次のようになりデータフレーム持っている:私は列に貴様の行をマージしたいPythonのパンダは、行を連結した値

name event_code_0 event_code_1100 event_code_1110 event_code_1120 event_code_1120 event_code_1199 
0 A 1 0 0 0 0 0 
1 A 0 0 1 0 0 0 
2 A 0 0 0 1 0 0 
3 A 0 0 1 0 0 0 
4 A 0 1 0 0 0 0 
5 A 0 0 0 0 1 0 
6 A 0 0 0 1 0 0 
7 A 0 1 0 0 0 0 
8 A 1 0 0 0 0 0 
9 B 0 0 0 0 0 1 
10 B 0 0 0 0 1 0 
11 B 0 0 1 0 0 0 
12 B 0 1 0 0 0 0 
13 B 1 0 0 0 0 0 
14 B 0 0 1 0 0 0 
15 B 0 0 0 1 0 0 
16 B 0 1 0 0 0 0 
17 B 0 0 0 0 0 1 

:「名前を」とイベントコードを数えます。私は.mergeではなく、成功せずに別のものを試してみる

name event_code_0 event_code_1100 event_code_1110 event_code_1120 event_code_1120 event_code_1199 
0 A 2 2 2 2 1 0 
1 B 1 2 2 1 1 2 

例えばデータフレームは次のようになります。 はたぶん誰かが簡単なトリックを知っている...

乾杯、 アストラスあなたがreset_indexまたはパラメータas_index=False追加の列にnameためgroupbyと集計sumを、必要

答えて

3

df1 = df.groupby('name').sum().reset_index() 
print (df1) 
    name event_code_0 event_code_1100 event_code_1110 event_code_1120 \ 
0 A    2    2    2    2 
1 B    1    2    2    1 

    event_code_1120 event_code_1199 
0    1    0 
1    1    2 

または:

df1 = df.groupby('name', as_index=False).sum() 
print (df1) 
    name event_code_0 event_code_1100 event_code_1110 event_code_1120 \ 
0 A    2    2    2    2 
1 B    1    2    2    1 

    event_code_1120 event_code_1199 
0    1    0 
1    1    2 
+0

問題を解決してくれてありがとうございます;) – Astrus

+0

喜んで助けることができます。いい日! – jezrael

関連する問題