4.2 主键合并数据_第1页
4.2 主键合并数据_第2页
4.2 主键合并数据_第3页
4.2 主键合并数据_第4页
4.2 主键合并数据_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.2主键合并数据学习目标2.右连接1.左连接3.内连接4.外连接4.2主键合并数据

主键合并操作是通过1个或多个键值(键值是指数据表中值可唯一标识一行数据的列标签,类似于关系型数据库中表的主键)将两个数据表进行横向连接。根据合并方式的不同,主键合并可以分为左连接、右连接、内连接和外连接。主键合并可以通过pandas库的merge()方法完成,该方法只能实现两个表的拼接。merge()方法的主要参数如表4.2.1所示。表4.2.1

merge()方法的参数说明序号参数说明1left表示需要合并的左表,可接收的数据类型为DataFrame对象2right表示需要合并的右表,可接收的数据类型为DataFrame对象3how表示左右表的合并方式,默认为inner,取值为left、right、inner、outerleft:按左表的键值进行合并,保持左表的键值顺序,如果左表的键值在右表不存在,用NaN填充。right:按右表的键进行合并,保持右表的键值顺序,如果右表的键值在左表不存在,用NaN填充。inner:以左右表的键值的交集进行合并,保持左表的键值顺序。outer:以左右表的键值的并集进行合并,按字典顺序对键值重新排序。4on指定用于连接的列标签,即左右表合并的主键,必须是值可唯一标识一行数据的列标签。如果未指定,则以两表交集的列标签作为连接键值。4.2.1左连接

左连接是指在对两张表进行主键合并操作时,按左表的主键值进行合并,保持左表的主键值的顺序,如果左表的主键值在右表不存在,用NaN填充。左连接通过设定merge()方法的参数how=’left’来实现。01importpandasaspd02df1=pd.DataFrame({'id':[1,2,3,4],'gender':['男','男','男','女']},columns=['id','gender'])03df2=pd.DataFrame({'id':[4,2,5],'payment':[100,200,300]},columns=['id','payment']))04cont=pd.merge(df1,df2,how='left',on='id')#左连接05cont4.2.1左连接

左连接通过设定merge()方法的参数how=’left’来实现。左连接以左边表格的所有键值为基准进行连接。因为右表中id=5不在左表中,故不会进行连接。右表中的payment列在合并时,和左表中的id=1和id=3没有匹配值,所以左连接合并以后用缺失值NaN填充。4.2.2右连接

右连接连接是在对左右表进行主键合并操作时,按右表的主键值进行合并,保持右表的主键值的顺序,如果右表的主键值在左表不存在,用NaN填充。右连接通过设定merge()方法的参数how=’right’来实现。右连接以右边表格的所有键值为基准进行连接。因为左表中id=1和id=3不在右表中,故不会进行连接。左表中的gender列在合并时,和右表中的id=5没有匹配值,所以左连接合并以后用缺失值NaN填充。06cont=pd.merge(df1,df2,how='right',on='id')#右连接07cont4.2.3内连接

内连接是在对左右表进行主键合并操作时,以左右表的主键值的交集进行合并,并保持左表的主键值的顺序。内连接通过设定merge()方法的参数how=’inner’来实现。df1和df2的主键id值的交集={2,4},所以内连接时将左右表的键值id=2和id=4为基准进行连接,而id=1,3,5则不进行连接。合并结果以左表的键值顺序输出。08cont=pd.merge(df1,df2,how='inner',on='id')#内连接09cont4.2.4外连接

外连接是在对左右表进行主键合并操作时,以左右表的主键值的并集进行合并,按字典顺序对主键值重新排序。内连接通过设定merge()方法的参数how=’outer’来实现。df1和df2的主键id值的并集={1,2,3,4,5},所以外连接时将左右表的全部键值进行连接。左表中的gender列在合并时,和右表中的id=5没有匹配值,所以外连接后用缺失值NaN填充。右表的payment列在合并时,和左表中的id=1和id=3没有匹配值,所以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论