Вероятно, это связано с индексом вашего фрейма данных. Вам нужно использовать df_fxrate['fx_rate'].values
:
combineQueryandBookFiltered['pnlValue'] = np.multiply(combineQueryandBookFiltered['pnlValue'], df_fxrate['fx_rate'].values)
или лучше:
combineQueryandBookFiltered['pnlValue']=combineQueryandBookFiltered['pnlValue']*df_fxrate['fx_rate'].values
Я покажу вам пример:
df1=pd.DataFrame(index=[1, 2])
df2=pd.DataFrame(index=[0])
df1['col1']=[1,1]
print(df1)
col1
1 1
2 1
df2['col1']=[1]
print(df2)
col1
0 1
print(np.multiply(df1['col1'],df2['col1']))
0 NaN
1 NaN
2 NaN
Как вы можете видеть, умножение выполняется в соответствии с индексом
Так что вам нужно что-то вроде этого:
np.multiply(df1['col1'],df2['col1'].values)
или
df1['col1']*df2['col1'].values
Выход:
1 1
2 1
Name: 1, dtype: int64
, как вы видите сейчас только df1 [используется индекс серии 'col1'