熊猫有条件的新专栏

时间:2018-11-02 06:24:10

标签: python-2.7 pandas sum row

我有一个像这样的数据框:

 Name    one two 
 John     A   20
 John     P   30
 Alex     B   40
 David    C   50
 Harry    A   60
 Harry    P   40

我想添加诸如

这样的特定名称同时出现AP的那些行
 Name  one  two 
 John  A+P 50 
 Alex  B   40  
 David C   50  
 Harry A+P 100   

我尝试在sum中使用行明智的pandas函数,但是没有得到所需形式的输出。请帮我!

1 个答案:

答案 0 :(得分:1)

DataFrameGroupBy.aggjoinsum一起使用:

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