合并数据框时的KeyError(key)

时间:2020-09-14 03:59:03

标签: pandas merge

Input = df=pd.merge(Bx_Users,BX_ratings,on='user_id')
Error = Traceback (most recent call last):
  File "C:/Users/91943/AppData/Roaming/JetBrains/PyCharmCE2020.2/scratches/MergingwithSummerclothingdataset.py", line 14, in <module>
    df=pd.merge(Bx_Users,BX_ratings,on='user_id')
  File "C:\Users\91943\PycharmProjects\Pandas\venv\lib\site-packages\pandas\core\reshape\merge.py", line 74, in merge
    op = _MergeOperation(
  File "C:\Users\91943\PycharmProjects\Pandas\venv\lib\site-packages\pandas\core\reshape\merge.py", line 652, in __init__
    ) = self._get_merge_keys()
  File "C:\Users\91943\PycharmProjects\Pandas\venv\lib\site-packages\pandas\core\reshape\merge.py", line 1005, in _get_merge_keys
    right_keys.append(right._get_label_or_level_values(rk))
  File "C:\Users\91943\PycharmProjects\Pandas\venv\lib\site-packages\pandas\core\generic.py", line 1560, in _get_label_or_level_values
    raise KeyError(key)
KeyError: 'user_id'

我尝试了多种解决此问题的方法。不知道我要去哪里错了。

1 个答案:

答案 0 :(得分:0)

参数 rightDataFrame 或命名系列 要合并的对象。

how{‘left’, ‘right’, ‘outer’, ‘inner’, ‘cross’},默认为‘inner’ 要执行的合并类型。

left:只使用左框架的键,类似于 SQL 左外连接;保留密钥顺序。

right:仅使用来自右框架的键,类似于 SQL 右外连接;保留密钥顺序。

outer:使用来自两个帧的键的并集,类似于 SQL 全外连接;按字典顺序对键进行排序。

inner:使用来自两个帧的键的交集,类似于 SQL 内连接;保留左键的顺序。

cross:从两个帧创建笛卡尔积,保留左键的顺序。

1.2.0 版中的新功能。