1
我想根据数据框中的公共列的值合并两个大熊猫数据帧。然而,在dataframes之一的列中的值不是唯一的:在具有非唯一元素的列上合并具有不同大小的大熊猫数据帧
df1 = pd.DataFrame(
{'SimId:': [1, 1, 1, 2, 2],
'RunId': [1, 2, 3, 1, 2],
'Velocity': [5, 6, 7, 8, 9]})
df2 = pd.DataFrame(
{'SimId': [1, 2],
'weather': ['sun', 'snow']})
因此,我想获得这样的数据帧:
df3 = pd.DataFrame(
{'SimId:': [1, 1, 1, 2, 2],
'RunId': [1, 2, 3, 1, 2],
'Velocity': [5, 6, 7, 8, 9],
'weather': ['sun', 'sun', 'sun', 'snow', 'snow']})
当试图合并这样的:
df3 = pd.merge(df1, df2, on='SimId', how='right')
我得到一个“KeyError”。
任何人都可以帮助我解决这个问题的最pythonic方式?