根据行条件对Pandas DataFrame的两列求和
A B C 0 0 -2 1 1 1 -1 2 2 2 0 3 3 3 1 0 4 4 2 5
我想要新增一列,这一列的内容是这样的:如果B列的值大于0,就取B列的元素;如果B列的值小于等于0,就取C列的元素。
A B C D 0 0 -2 1 1 1 1 -1 2 2 2 2 0 3 3 3 3 1 0 1 4 4 2 5 5
1 个回答
2
使用布尔遮罩:
In [14]: df[df[['B', 'C']] > 0].max(1)
Out[14]:
0 1
1 2
2 3
3 1
4 5
dtype: float64
In [15]: df['D'] = df[df[['B', 'C']] > 0].max(1)