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

yipeiwu_com7年前Python基础

如下所示:

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设计】。

相关文章

Python时区设置方法与pytz查询时区教程

时区的概念与转换 首先要知道时区之间的转换关系,其实这很简单:把当地时间减去当地时区,剩下的就是格林威治时间了。 例如北京时间的18:00就是18:00+08:00,相减以后就是10:0...

手动安装python3.6的操作过程详解

手动安装python3.6只需要将其ppa源加入apt仓库列表即可,但是最近常用的一个源 ppa:jonathonf/python-3.6 突然403拒绝访问了,费劲千辛万苦终...

利用anaconda保证64位和32位的python共存

背景 喵哥想在MFC中调用python脚本,在原来的代码中包含一个只支持x86的库文件(超级核心的文件),原本安装的python是x64的,强行运行程序会出现python头文件里的函数无...

python实用代码片段收集贴

获取一个类的所有子类 复制代码 代码如下: def itersubclasses(cls, _seen=None):     """Generator ov...

python中for循环变量作用域及用法详解

在讲这个话题前,首先我们来看一道题: 代码1: def foo(): return [lambda x: x**i for i in range(1,5,2)] print([f...