你可以用
"Side"
列作为
numpy.where
:
df['price_diff'] = np.where(df['Side'].astype(bool), df['ref_price']*df['price']*-1, df['ref_price']*df['price'])
或者在这种特定情况下,使用“Side”列值作为
-1
:
df['price_diff'] = df['ref_price']*df['price']*(-1)**df['Side']
输出:
Side ref_price price price_diff
0 0 100 110 11000
1 1 110 100 -11000