首页 > 编程知识 正文

merge多对多匹配的问题,excel数据处理函数

时间:2023-05-03 15:39:28 阅读:128411 作者:2754

数据分析现在很受欢迎,学习用python处理数据,摆脱了繁琐的工作。 本文详细论述了数据分析中常用函数的merge函数。

文章目录1、merge函数参数详细信息2、merge函数简单实例12个数据框2用不同的方法连接两个数据框3,merge函数详细实例12个数据框2用不同的方法连接两个数据框

一. merge函数参数细节

pd.merge函数以某种方式将两个数据框连接在一起。 如果你觉得光靠语法很无聊,请先看看第二部分的实例。

PD.merge(left,right,how='inner ',on=None,left_on=None,right_on=None,left_index=False,right )

参数详细信息:

左:拼接左侧的数据框。

right :拼接右侧的数据框。

how :如何连接左右两个数据框。 您可以选择“左”、“右”、“外”和“内”。 默认值为inner。

选中:用于左右合并的数据框具有公用列名,并为每列合并两个数据框。

连接left_on个数据框时,左侧的数据框对应于连接关键字(也可以是列表)。

当连接right_on个数据框时,右边的数据框对应于连接关键字(也可以是列表)。

left _ index :如果为true,则使用左侧数据框中的索引合并两个数据框。

right _ index :如果为true,请按右边数据框中的索引合并两个数据框。

sort :按字典顺序按合并键对结果数据框排序。

suffixes :为左侧和右侧数据框中的重复列名称定义后缀。 缺省加() x、) y )。

二、merge函数的简单例子

12个数据框1.第一个数据框中存放了四位同学的数学成绩

importpandasaspddate1=PD.data frame ({ ' name ' : (' Xie ',' li ',' wang ',' chen'] ),' math'3360,)

具体数据格式如下。

2.第二个数据框中存放了四位同学的英语成绩

date2=PD.data frame ({ ' name ' : [ ' Xie ',' li ',' fan ',' sun'],' English ' 3360 [ 94,83,89,33 ] )

222个数据框1. 以默认的方式连接两个数据框

PD.merge(date1,date2 )。

如果未指定合并键,则默认情况下两个数据框中的列都将用作合并键。 默认情况下,连接方法how为inne (保留两个数据框中都包含信息的列)。

2. how为left

PD.merge(date1,date2,how='left ' ) )。

根据左侧数据框中的合并键,根据右侧数据框中的信息进行合并。 如果未指定连接密钥,则默认情况下使用同名的列作为匹配密钥。

3. how为right

PD.merge(date1,date2,how='right ' ) )。

与left类似,但相对于右侧数据框中的连接密钥。

4. how为outer

PD.merge(date1,date2,how='outer ' )

取连接键的并集,保存所有信息。

5. 以index做为连接键

PD.merge(date1,date2,how='inner ',left_index=True,right_index=True ) ) ) ) ) ) )。

您可以使用默认索引进行连接,也可以在创建数据框时自己指定索引。 如果两个数据框除了合并键之外还具有相同的列名,则默认情况下左侧数据框中的相同列名后跟_x,右侧数据框中的相同列名后跟_y。 请参阅上图中的name_x和name_y。

三.合并

函数进阶实例

  

1 两个数据框

  
1.第一个数据框中存放了四位同学的姓名、年龄和成绩。
  

import pandas as pddate1 = pd.DataFrame({'name1':['xie', 'li', 'wang', 'chen'], 'age1':[12, 11, 11, 13], 'music':[95,66,98,78], 'Math':[88, 90, 54, 70]})

  
具体数据格式如下:

  
2.第二个数据框中存放了四位同学的姓名、年龄和成绩。
  

date2 = pd.DataFrame({'name2':['xie', 'li', 'fan', 'sun'], 'age2':[12, 11, 13, 10], 'English':[94, 83, 89, 33]})

具体数据格式如下:

  
  

2 按不同方式拼接两个数据框

  

由于两个数据框中没有相同列名,所以不指定连接关键字时会报错。
  
1.以左连接的方式连接两个数据框
  

pd.merge(date1, date2, how = 'left', left_on = 'name1', right_on = 'name2')

  
得到结果如下:

  

2.指定两列为连接键
  

pd.merge(date1, date2, how = 'left', left_on = ['name1', 'age1'], right_on = ['name2', 'age2'])

得到结果如下:

  

3.用sort对连接键值进行排序
  

pd.merge(date1, date2, how = 'left', left_on = ['name1', 'age1'], right_on = ['name2', 'age2'], sort = True)

  
得到结果如下:

  
按连接键的顺序对数据框进行排序。
  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。