我有一个看起来像这样的数据框:
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
我想合并列上的不同行:“名称”并计算事件代码。
例如数据框应该是这样的:
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
我用 .merge 尝试了不同的东西,但没有成功。 也许有人知道一个简单的技巧......
干杯, 阿斯特拉斯
请您参考如下方法:
你需要groupby和聚合sum , 对于 name 列添加 reset_index或参数as_index=False:
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
