欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    这些数据合并的神操作.docx

    • 资源ID:109791       资源大小:120.60KB        全文页数:43页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    这些数据合并的神操作.docx

    Pandas提供了多功能、高性能的内存连接操作,本质上类似于SQL等关系数据库,比如,merge、join、concat等方法可以方便地得具有多种集合逻辑的Series或DataFrame数据合并、拼接在一起,用于实现索引和关系代数功能。- merge方法主要基于数据表共同的列标签进行合并,- join方法主要基于数据表的index标签进行合并,- c。IlCat方法是对数据表进行行拼接或列拼接。Olmerge方法merge方法的主要应用场景是针对存在同一个或多个相同列标签(主键)的包含不同特征的两个数据表,通过主键的连接将这两个数据表进行合并。其语法格式如下:result=pd.merge(left,right,how=,inneron=None,left_on=Nonejright_on=None,IeftJndex=False,PighJindex=False,.)常用的参数含义说明如下。:参与合并的左/右侧的Series或DataFrame对象(数据表)。 how:数据合并的方式。默认为,inner,表示内连接(交集),,outer*表示外连接(并集),'left'表示基于左侧数据列的左连接,'right'表示基于右侧数据列的右连接。 on:指定用于连接的列标签,可以是一个列标签,也可以是一个包含多个列标签的列表。默认为left和right中相同的列标签。 Ieft_on/right_on:当left和right中合并的列标签名称不同时,用来分别指定左/右两表合并的列标签。 Ieft_index/right_index:布尔类型,默认为Falseo当设置为True时,则以左/右侧的行标签作为连接键。下面通过代码清单1演示merge方法的用法。代码清单1merge方法的用法示例1 importpandasaspd2 left=pdDaaFrame(,keyl,:,K0,K1'K2'Jkey2':,K0','Kl','K0'JA':'A0','Al:'A2'JB':'B0'BI''B2ImZ3 right=pd.DataFrame(,keyl,:,K0,K1,j,K2,j,key2':,K0',K0,K0,C,:,C0,j'Cl'j,C2L,D,:'D0,D1,D2')4 fj,nt(,left:n'2J1eft)5 print(,right:n,j>gh;)6 resultl=pd.merge(left,right,on='keyl,)#内连接7 Print根据keyl歹IJ将Ieft和right内连接:r,resultl)8 result2=pd,merge(Ieft,right,On='keyl','key2')9 PriITt('根据keyl和key2列将left和right内连接:n',result2)10 result3=pd.merge(left,right,how='outer',On='keyl'key21)11 PrilTt('根据keyl和key2歹等left和right外连接:n,result3)12 result4=pd.merge(efjright,how=,left',on=,keyl','key2')13 print(,keyl和key2列将left和right左连接:n,jresult4)14 result5=pd.merge(left,right,how='right*jon='keyl'j'key2')15 Print(,根据keyl和key2歹IJ将Ieft和right右连接:n,result5)程序执行结束后,输出结果如下:1KlK0ClDl2K2K0C2D2根据keyl歹将left和right内连接:keylkey2_xABkey2_yCD0K0K0A0B0K0C0D01KlKlAlBlK0ClDl2K2K0A2B2K0C2D2ffieyl和key2列将Ieft和right内连接:keylkey2ABCD0K0K0A0B0C0D01K2K0A2B2C2D2keyl和key2列将left和right外连接keylkey2ABCD0K0K0A0B0C0D01KlKlAlBlNaNNaN2K2K0A2B2C2D23KlK0NaNNaNClDl根据key,和key2列将Ieft和right左连接:keylkey2ABCD0K0K0A0B0C0D01KlKlAlBlNaNNaN2K2K0A2B2C2D2根据keyl和key2列将Ieft和right右连接:keylkey2ABCDK0K0A0B0C0D01K2K0A2B2C2D22KlK0NaNNaNClDl下面对代码清单1中的代码做简要说明。- 第2行代码通过字典创建了一个3行4列的DataFrame对象left,如第4行print函数的输出结果所示。- 第3行代码通过字典创建了一个3行4列的DataFrame对象right,如第5行print函数的输出结果所示。- 第6行代码通过merge方法将left与right合并,on='keyl,指定根据列标签keyl进行合并,合并方式默认为内连接,合并后的结果为一个3行7列的DataFrame对象,如第7行print函数的输出结果所示。内连接是取left和right的交集,由于leftright中keyl列的数据完全相同,因此保留了两个数据表中的所有行。除keyl之外,left和right中还存在另一个相同的列标签key2,为了在合并后的对象中加以区分,Pandas自动将left中的key2重命名为right中的key2重命名为key2_yO-第8行代码通过merge方法将left与right合并,on=,keyl,r,key2,指定根据列标签key2进行合并,合并方式默认为内连接,合并后的结果为一个2行6列的DataFrame对象,如第9行print函数的输出结果所示。由于left和right中key2列数据不完全相同,因此要取left和right的交集,只将,keyl,z,key2,两列组合数据完全相同的行进行合并,即将第1行和第3行合并,并自动调整合并后DataFrame对象的indexO-第10行代码通过merge方法将left与right合并,on=LkeylI,key2,指定根据列标签keyl和key2进行合并,how='outer指定合并方式为外连接,合并后的结果为一个4行6列的DataFrame对象,如第11行print函数的输出结果所示。外连接是取left和right的并集,,keyl',key2,两列组合数据对应的行都会进行合并。对于left和right中没有的列标签,要在对应位置设置NA,并自动调整合并后DataFrame对象的index-第12行代码通过merge方法将left与right合并/Qn=Lkeyl',key2,指定根据列标签keyl和key2进行合并,how='left'指定合并方式为左连接,合并后的结果为一个3行6列的DataFrame对象,如第13行print函数的输出结果所示。左连接是保留left的所有数据,只取right中与left的,keyl,z,key2,组合数据相同的行进行合并。对于left中没有的列标签,要在对应位置设置NA,并自动调整合并后DataFrame对象的indexO-第14行代码通过merge方法将leftright合并,on='keyl,z,key2,指定根据列标签keyl和key2进行合并,how='right'指定合并方式为右连接,合并后的结果为一个3行6列的DataFrame对象,如第15行print函数输出结果所示。右连接是保留right的所有数据,只取left中与right的"eylI,key2,组合数据相同的行进行合并。对于right中没有的列标签,要在对应位置设置NAz并自动调整合并后DataFrame对象的indexOTips1)使用merge合并两个数据表,如果左侧或右侧的数据表中没有某个列标签,则连接表中对应的值将设置为NAe2)merge方法不会修改原始数据表,而是生成一个合并后的副本。02join方法Pandas还提供了一种基于index标签的快速合并方法join方法。join连接数据的方法与merge一样,包括内连接、外连接、左连接和右连接。其语法格式如下:result=data.join(other.on=None,how=,left data是一个Series或DataFrame对象(数据表)。 other:要合并的Series或DataFrame又掾(gJSg表)。 on:可以是一个data中的列标签,也可以是一个包含多个data列标签的列表,表示otherdata的特定列上对齐。在实际应用中,如果other的index的值与data某一列的值相等,可以通过将other的index和data中的特定列对齐进行合并,这类似于Excel中的VLOOKUP操作。 how:数据合并的方式。默认为'left',表示左连接,基于dataindex标签进行连接;'right'表示右连接,基于other的index标签进行连接;'inner'表示内连接(交集);,outer,表示外连接(并集).下面通过代码清单2演示join方法的用法。代码清单2join方法的用法示例1 importpandasaspd2 left=pd.DataFrame(<,A,:,A0','Al',A2,j,B,:,B'j'B1','B2',index='

    注意事项

    本文(这些数据合并的神操作.docx)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开