我有一个像这样的数据框:
Name one two
John A 20
John P 30
Alex B 40
David C 50
Harry A 60
Harry P 40
我想添加诸如
这样的特定名称同时出现A
和P
的那些行
Name one two
John A+P 50
Alex B 40
David C 50
Harry A+P 100
我尝试在sum
中使用行明智的pandas
函数,但是没有得到所需形式的输出。请帮我!
答案 0 :(得分:1)
将DataFrameGroupBy.agg
与join
和sum
一起使用:
df = df.groupby('Name', sort=False, as_index=False).agg({'one':'+'.join, 'two':'sum'})
print (df)
Name one two
0 John A+P 50
1 Alex B 40
2 David C 50
3 Harry A+P 100