在列和索引上合并两个数据框

亚历克斯

嗨,所以我有两个数据框,第一个是一个数据框,它是通过按 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章