1、说明
pandas提供了一个类似关系数据库的连接(join)merage可以根据一个或多个键连接不同DataFrame中的行。
2、语法
merge(left,right,how='inner',on=None,left_on=None,right_on=None, left_index=False,right_index=False,sort=True, suffixes=('_x','_y'),copy=True,indicator=False)
3、参数
left与right:两个不同的DataFrame
how:Innner(内连接)是指合并(连接)的方式,left(左外连接),right(右外连接),outer(全外连接);默认为inner
on : 指用于连接的列索引名称。右右两个DataFrame对象中必须存在。如果没有指定,其他参数也没有指定,则以两个DataFrame的列名交集作为连接键
left_on:左则DataFrame中用作连接键的列名;左右列名在这个参数中不同,但代表相同的含义是非常有用的。
right_on:在DataFrame中使用右侧 连接键的列名
left_index:使用左则DataFrame中的行索引作为连接键
right_index:使用右则DataFrame中的行索引作为连接键
sort:默认为True,对合并的数据进行排序。在大多数情况下,False可以提高性能
suffixes:由字符串值组成的元组,用于指定当左右DataFrame有相同列名时,在列名后面附加的后缀名称,默认为(_x’,’_y’)
copy:默认情况下,True总是将数据复制到数据结构中;在大多数情况下,False可以提高性能;
indicator:在 0.17.0中还增加了显示合并数据中的来源;如果你只来自左边(left_only)、两者(both)
4、实例
importpandasaspd left=pd.DataFrame({'key':['K0','K1','K2','K3'], 'A':['A0','A1','A2','A3'], 'B':['B0','B1','B2','B3']}) right=pd.DataFrame({'key':['K0','K1','K2','K3'], 'C':['C0','C1','C2','C3'], 'D':['D0','D1','D2','D3']}) result=pd.merge(left,right,on='key') #on参数传递的key作为连接键 result Out[4]: ABkeyCD 0A0B0K0C0D0 1A1B1K1C1D1 2A2B2K2C2D2 3A3B3K3C3D3
以上是python merge()连接,希望对大家有所帮助。更多Python学习指导:python基础教程