Pandas-merg上的KeyError

2024-06-16 08:49:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试合并两个数据帧。我用的是Jupyter笔记本和熊猫数据框。我的两个df是这样的:

gbdf.dtypes:
product_name            object
Quantity               float64
Product_id               int64
product_group1           int64
product_group1_name     object
product_group2           int64
product_group2_name     object
packing_unit            object
packing_amount           int64
dtype: object


trns.dtypes:
Store_id           int64
Date              object
Price              int64
Net price          int64
Purchase price     int64
Hour               int64
product_id         int64
Quantity           int64
dtype: object

但是,当我试图逃跑的时候

gbdfprice = gbdf.merge(gbdf, trns, left_on = 'Product_id', right_on = 'product_id')

我明白了

KeyError: 'product_id'

知道为什么吗?


Tags: 数据nameidobjectproductquantitydtypegroup1
1条回答
网友
1楼 · 发布于 2024-06-16 08:49:57

您使用的格式(接受左和右DataFrame参数)是与pandas顶级模块关联的方法,但是您实际上使用了与只接受右参数的DataFrame对象关联的方法。

import pandas as pd

left = DataFrame(...)
right = DataFrame(...)

#Method you have used
combined = left.merge(right, [options...])
#Method you have taken argument list from
combined = pd.merge(left, right, [options...])

从源代码中可以看到,left.merge(right...)只需导入另一个merge方法并运行merge(self,right,...)

因此,正如@ayhan所指出的,只需从参数列表中删除gbdf,或者也可以用pd.merge替换gbdf.merge调用,并保持参数列表不变。

相关问题 更多 >