我想基于两列中的值进行条件乘法。
数据如下:
如果“多头头寸”不是nan,那么我想乘以远期执行价格,否则要乘以“空头”乘以远期执行价格。
我该怎么做?
答案 0 :(得分:1)
如果缺少的值是NaN
,请使用combine_first
或fillna
:
s = df['Position Long'].combine_first(df['Position Short'])
#alternative
#s = df['Position Long'].fillna(df['Position Short'])
如果两列都缺失并且在输出中需要NaN
:
df['new'] = df['Forward Strike Price'].mul(s)
或者如果需要原始值:
df['new'] = df['Forward Strike Price'].mul(s, fill_value=1)