You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas不同维度DataFrame相乘时USD行Inv列出现NaN值问题咨询

问题原因
  • Pandas的Series之间做运算时会自动按索引对齐匹配:你筛选得到的df2只有原df1中对应Peso Mexicano行的索引(本例中只有索引3),所以df2['Conv']是仅包含索引3的Series,和全索引的df1['COGS']相乘时,原df1中索引0、1、2的行在df2['Conv']中找不到匹配值,就会返回NaN。
解决方法

你只需要把转换率从带索引的Series中取出为纯标量值,再和df1['COGS']运算即可,不会触发索引对齐逻辑:

# 先取出转换率标量
conv_rate = df2['Conv'].iloc[0]
# 再计算Inv列
df1['Inv'] = (conv_rate * df1['COGS']) * -1
# 保留两位小数匹配预期输出
df1['Inv'] = df1['Inv'].round(2)
display(df1)

补充说明:如果筛选后Peso Mexicano有多个行需要先做聚合(比如取平均转换率),可以用conv_rate = df2['Conv'].mean()再做运算即可。

内容的提问来源于stack exchange,提问作者SAK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:27:02