pandas表连接 索引上的合并方法

Jasper
Jasper
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍pandas中基于索引进行表连接的方法,涵盖单级与多级索引场景。通过left_on与right_index参数实现列与索引的匹配,并演示如何通过设置how='outer'执行外部连接,同时合并双方索引,确保数据完整性。

具体实现方式如下所示:

left1 = pd.DataFrame({‘key':[‘a','b','a','a','b','c'],'value':range(6)}) 
right1 = pd.DataFrame({‘group_val':[3.5,7]},index = [‘a','b']) 
print(left1) 
print(right1) 
result = pd.merge(left1,right1,left_on='key',right_index=True) 
print(result)

针对层次化数据的索引处理

lefth = pd.DataFrame({‘key1':[‘Ohio','Ohio','Ohio','Nevada','Nevada'], 
‘key2':[2000,2001,2002,2001,2002], 
‘data':np.arange(5)}) 
print(lefth) 
righth = pd.DataFrame(np.arange(12).reshape(6,2),index = [[‘Nevada','Nevada','Ohio','Ohio','Ohio','Ohio'], 
[2001,2000,2000,200,2001,2002]]) 
print(righth) 
result = pd.merge(lefth,righth,left_on=[‘key1','key2'],right_index=True) 
print(result)

若需将上述代码逻辑调整为外部连接模式,只需指定参数 how = ‘outer' 即可实现。

该操作将同时合并左右两张表的索引信息。

left2 = pd.DataFrame([[1,2],[3,4],[5,6]],index=[‘a','c','e'],columns=[‘Ohio','Neveda']) 
right2 = pd.DataFrame([[7,8],[9,10],[11,12],[13,14]],index=[‘b','c','d','e'],columns=[‘Missouri','Alabma']) 
print(left2) 
print(right2) 
result = pd.merge(left2,right2,how='outer',left_index=True,right_index=True) 
print(result)

以上关于pandas表连接及索引合并方法的介绍到此结束,希望能为读者提供有效的参考,同时也欢迎大家继续支持本站获取更多技术内容。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表