如何连接Pandas数据帧列

时间:2016-07-01 12:37:41

标签: python pandas

如何在Pandas数据帧中连接不同数据类型的列,以便如果列number与列operator连接,并且我执行groupby('user').sum(),我可以进行适当的聚合:

    number   operator user
id                      
1      193        -    A
2      332        +    B
3     4434        +    A
4      432        -    C
5      652        +    C
6      567        +    D


#after concat:

    number operator user
id                      
1     -193        -    A
2      332        +    B
3     4434        +    A
4     -432        -    C
5      652        +    C
6      567        +    D


#df.groupby('user').sum()

      number
user        
A       4241
B        332
C        220
D        567

1 个答案:

答案 0 :(得分:2)

使用带有布尔掩码的loc使'number'值为负数:

In [34]:
df.loc[df['operator'] == '-', 'number'] = -df['number']
df

Out[34]:
    number operator user
id                      
1     -193        -    A
2      332        +    B
3     4434        +    A
4     -432        -    C
5      652        +    C
6      567        +    D

然后您可以{'1}}'用户'可以在'号码'栏上拨打groupby

sum