我还是熊猫的新手,我很难合并两个特定的数据框。
右表如下所示:

左表如下所示:

这是我试图运行的代码:
with pd.HDFStore(spadl_h5) as spadlstore:
games = spadlstore["games"].merge(spadlstore["competitions"],
left_on='competitionId', right_on='wyId')
这是我收到的错误:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-93-98ebcfc55d82> in <module>
1 with pd.HDFStore(spadl_h5) as spadlstore:
----> 2 games = spadlstore["games"].merge(spadlstore["competitions"],
3 left_on='competitionId', right_on='wyId')
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/frame.py in merge(self, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
7282 from pandas.core.reshape.merge import merge
7283
-> 7284 return merge(
7285 self,
7286 right,
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/reshape/merge.py in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
71 validate=None,
72 ) -> "DataFrame":
---> 73 op = _MergeOperation(
74 left,
75 right,
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/reshape/merge.py in __init__(self, left, right, how, on, left_on, right_on, axis, left_index, right_index, sort, suffixes, copy, indicator, validate)
625 self.right_join_keys,
626 self.join_names,
--> 627 ) = self._get_merge_keys()
628
629 # validate the merge keys dtypes. We may need to coerce
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/reshape/merge.py in _get_merge_keys(self)
994 right_keys.append(rk)
995 if lk is not None:
--> 996 left_keys.append(left._get_label_or_level_values(lk))
997 join_names.append(lk)
998 else:
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/generic.py in _get_label_or_level_values(self, key, axis)
1690 values = self.axes[axis].get_level_values(key)._values
1691 else:
-> 1692 raise KeyError(key)
1693
1694 # Check for duplicates
KeyError: 'competitionId'
'left_on' 和 'right_on' 列都是 int64。我还在合并中尝试了所有可能的“如何”(左/右/外/内)版本,但我仍然遇到同样的错误。
(表格是 h5 格式,因为我正在尝试使用 footballaction 包)