熊猫Python中的条件乘法

时间:2019-02-26 07:45:31

标签: python pandas

我想基于两列中的值进行条件乘法。

数据如下:

如果“多头头寸”不是nan,那么我想乘以远期执行价格,否则要乘以“空头”乘以远期执行价格。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果缺少的值是NaN,请使用combine_firstfillna

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)