KeyError Traceback (most recent call last)
~/ipykernel_11/842451619.py in ?()
27 hefei_df = pd.DataFrame(list(hefei_gdp.items()), columns=[‘年份’, ‘GDP’])
28 jiangsu_df = pd.DataFrame(list(jiangsu_cities_gdp.items()), columns=[‘城市’, ‘GDP’])
29
30 # 合并数据
—> 31 merged_df = pd.merge(hefei_df, jiangsu_df, how=‘outer’, on=‘年份’)
32
33 # 计算合肥在江苏的排名
34 merged_df[‘排名’] = merged_df[‘GDP’].rank(ascending=False)
/usr/local/lib/python3.10/site-packages/pandas/core/reshape/merge.py in ?(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
166 validate=validate,
167 copy=copy,
168 )
169 else:
–> 170 op = _MergeOperation(
171 left_df,
172 right_df,
173 how=how,
/usr/local/lib/python3.10/site-packages/pandas/core/reshape/merge.py in ?(self, left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, indicator, validate)
790 self.right_join_keys,
791 self.join_names,
792 left_drop,
793 right_drop,
–> 794 ) = self._get_merge_keys()
795
796 if left_drop:
797 self.left = self.left._drop_labels_or_levels(left_drop)
/usr/local/lib/python3.10/site-packages/pandas/core/reshape/merge.py in ?(self)
1293 # Then we’re either Hashable or a wrong-length arraylike,
1294 # the latter of which will raise
1295 rk = cast(Hashable, rk)
1296 if rk is not None:
-> 1297 right_keys.append(right._get_label_or_level_values(rk))
1298 else:
1299 # work-around for merge_asof(right_index=True)
1300 right_keys.append(right.index._values)
/usr/local/lib/python3.10/site-packages/pandas/core/generic.py in ?(self, key, axis)
1907 values = self.xs(key, axis=other_axes[0])._values
1908 elif self._is_level_reference(key, axis=axis):
1909 values = self.axes[axis].get_level_values(key)._values
1910 else:
-> 1911 raise KeyError(key)
1912
1913 # Check for duplicates
1914 if values.ndim > 1:
KeyError: ‘年份’