使用 pd.merge 清空列

问题描述 投票:0回答:1

看到我正在两个数据帧之间进行简单的合并,我正在使用的数据帧称为 BD,大约有 50 列,另一个数据帧称为 PROD,只有三列:productID、productDesc、ponderation、前两列显然包含字符串值和最后一列浮点值,BD 数据帧还包含 ProductID 列。我的问题是,当我尝试通过

将沉思列添加到BD时
BD = BD.merge(PROD[['productID', 'ponderation']], on = 'productID', how = 'left')

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

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

啊啊啊啊啊

python pandas dataframe merge nan
1个回答
0
投票

我建议使用

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

set_index
似乎有必要

© www.soinside.com 2019 - 2024. All rights reserved.