使用 pd.merge 的空列

Empty columns using pd.merge

提问人:JoseM 提问时间:11/17/2023 更新时间:11/18/2023 访问量:24

问:

看到我正在两个数据帧之间进行简单的合并,我正在处理的数据框称为 BD,大约有 50 列,另一个数据框称为 PROD,只有三列 productID、productDesc、ponderation,前两列显然包含字符串值,最后一个浮点值,BD 数据框还包含列 productID。我的问题是,当我尝试通过以下方式将思考列添加到BD中时

BD = BD.merge(PROD[['productID', 'ponderation']], on = 'productID', how = 'left')

添加了列思考,但所有值都是 NaN(我忘了提到 BD 的长度是 84300)。

我不知道问题可能是什么,我认为代码是正确的,我已经尝试了一些事情,例如合并完整的数据框或仅合并一列等等,但我得到了相同的输出,数据类型相同,所以我对我可能做错了什么感到困惑,因此我正在寻求一些帮助,

Thaaaaaaaanks

python pandas dataframe merge nan

评论

1赞 compilation-error 11/17/2023
您确定 BD 和 PROD 具有任何通用的产品 ID 吗?此外,请确保没有空格,因为它们也会弄乱比赛。

答:

0赞 Nicolas 11/18/2023 #1

我建议使用BD = BD.merge(PROD[['productID', 'ponderation']].set_index('productID'), on = 'productID', how = 'left')

似乎有必要set_index