如何在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
答案 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