嗨,所以我有两个数据框,第一个是一个数据框,它是通过按 id(现在是索引)由另一个 df 分组然后按“到期”列排序而创建的。
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
另一个是一个普通的数据框,它有 3 列:'id'、'name' 和 'country'。
df2:
id name country
1 'AB' 'DE'
2 'CD' 'DE'
3 'EF' 'NL'
4 'HAH' 'SG'
5 'NOP' 'NOR'
所以我试图做的是根据 id 号(这是第一个 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] 删除。
我来说两句