データフレーム内の共通の列の値に基づいて結合する2つのパンダデータフレームがあります。しかし、データフレームの1の列の値は一意ではありません。異なるサイズのパンダデータフレームをユニークでない要素を持つ列にマージする
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」が表示されます。
これを解決する最も無慈悲な方法は誰ですか?しかし、 'SimId': 'SimId':
df3 = pd.merge(df1, df2, on='SimId', how='right')
は、あなただけのDF1のタイプミスを修正する必要がありますない