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中选取元素,否则从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
答案 0 :(得分: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)