こんにちは、私は 2 つのデータフレームを持っています。最初のデータフレームは、別の df で id (現在はインデックス) でグループ化し、「期限」列で並べ替えて作成されたデータフレームです。
df1:
paid due
id
3 13.000000 5.000000
2 437.000000 5.000000
5 90.000000 5.000000
1 60.000000 5.000000
4 675.000000 5.000000
もう 1 つは、「id」、「name」、「country」の 3 つの列を持つ通常のデータフレームです。
df2:
id name country
1 'AB' 'DE'
2 'CD' 'DE'
3 'EF' 'NL'
4 'HAH' 'SG'
5 'NOP' 'NOR'
したがって、私がしようとしていたことは、ID 番号 (最初の df のインデックスと 2 番目の df の列) に基づいて、最初のデータフレームに「名前」列を追加することです。それで、このコードが機能すると思いました:
pd.merge(df1, df2['name'], left_index=True, right_on='id')
しかし、私はエラーが発生します
ValueError: can not merge DataFrame with instance of type <class 'pandas.core.series.Series'>
次の方法rename
でマップに使用できますdict
。
df1['name'] = df1.rename(index=df2.set_index('id')['name']).index
print (df1)
paid due name
id
3 13.0 5.0 'EF'
2 437.0 5.0 'CD'
5 90.0 5.0 'NOP'
1 60.0 5.0 'AB'
4 675.0 5.0 'HAH'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加