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
最佳答案
使用布尔掩码:
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)
关于python - 将两列 Pandas 数据框的行条件相加,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22508235/