1
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),否則拾取選自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元件
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),否則拾取選自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)
謝謝!如果B(x)> 0或者C(x)有效,D(x)= B(x)+ C(x) – Rahuketu86
你能澄清你到底想要什麼嗎?它是否必須總和B和C(例如,第4行 - > 2 + 5不是5),還是隻有兩列的最大值? – joris
我想得到一個新的列,如果B是正值(> 0),它會從B中選擇元素,否則從C中選取元素 – Rahuketu86
也應該做些什麼來獲得像D(x)= B(x)+ C x)如果B(x)> 0否則C(x) – Rahuketu86