返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的Merge怎么使用
  • 388
分享到

Python中的Merge怎么使用

2023-07-05 04:07:21 388人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python中的Merge怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中的Merge怎么使用文章都会有所收获,下面我们一起来看看吧。meragepandas提供了一个类似

这篇文章主要介绍了python中的Merge怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中的Merge怎么使用文章都会有所收获,下面我们一起来看看吧。

merage

pandas提供了一个类似于关系数据库的连接(join)操作的方法merage,可以根据一个或多个键将不同DataFrame中的行连接起来,语法如下:

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)

作为一个功能完善、强大的语言,python的pandas库中的merge()支持各种内外连接。

  • left与right:两个不同的DataFrame

  • how:指的是合并(连接)的方式有inner(内连接),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)

#coding=utf-8import pandas as pdimport numpy as npclass PanMerge():    def PanMer(self):        data =  pd.DataFrame([{"id": 0, "name": 'lxh', "age": 20, "cp": 'lm'}, {"id": 1, "name": 'xiao', "age": 40, "cp": 'ly'},{"id": 2, "name": 'hua', "age": 4, "cp": 'yry'}, {"id": 3, "name": 'be', "age": 70, "cp": 'old'}])        data1 = pd.DataFrame([{"id": 100, "name": 'lxh', 'cs': 10}, {"id": 101, "name": 'xiao', 'cs': 40},{"id": 102, "name": 'hua2', 'cs': 50}])        data2 = pd.DataFrame([{"id": 0, "name": 'lxh', 'cs': 10}, {"id": 101, "name": 'xiao', 'cs': 40},{"id": 102, "name": 'hua2', 'cs': 50}])        data3 = pd.DataFrame([{"mid": 0, "mname": 'lxh', 'cs': 10}, {"mid": 101, "mname": 'xiao', 'cs': 40},{"mid": 102, "mname": 'hua2', 'cs': 50}])        # print(data)        # print(data1)        # print(data2)        df1 = pd.merge(data,data1,on="name",how="left",suffixes=('_a','_b'))#相同的其他类名用_a和_b标注        df2 = pd.merge(data, data2, on=("name", "id")) #多列名做为内链接的连接键        df3 = pd.merge(data, data2)  #不指定on则以两个DataFrame的列名交集做为连接键        # 使用右边的DataFrame的行索引做为连接键        indexed_data1 = data1.set_index("name")##设置行索引名称        # print(indexed_data1)        df5 = pd. merge(data, indexed_data1, left_on='name', right_index=True) #"使用右边的DataFrame的行索引做为连接键\r\n"        print(df5)        print('左外连接\r\n',pd.merge(data,data1,on="name",how="left",suffixes=('_a','_b')))        print('左外连接1\r\n',pd.merge(data1,data,on="name",how="left"))        print ('右外连接\r\n',pd.merge(data,data1,on="name",how="right"))        # 当左右两个DataFrame的列名不同,当又想做为连接键时可以使用left_on与right_on来指定连接键        df6=pd.merge(data,data3,left_on=["name","id"],right_on=["mname","mid"])        print(df6)

join方法提供了一个简便的方法用于将两个DataFrame中的不同的列索引合并成为一个DataFrame。

其中参数的意义与merge方法基本相同, 只是join方法默认为左外连接how = left。

 dj1=pd.DataFrame([{"id":0,"name":'lxh',"age":20,"cp":'lm'},{"id":1,"name":'xiao',"age":40,"cp":'ly'},{"id":2,"name":'hua',"age":4,"cp":'yry'},{"id":3,"name":'be',"age":70,"cp":'old'}],index=['a','b','c','d'])    dj2=pd.DataFrame([{"sex":0},{"sex":1},{"sex":2}],index=['a','b','e'])    print(dj1)    print(dj2)    df7= dj1.join(dj2)    print(df7)    print('使用右连接\r\n', dj1.join(dj2, how="right") ) # 这里出自动屏蔽了data1中没有index=c,d的那行数据;等价于data1.join(data)    print('使用内连接\r\n', dj1.join(dj2, how='inner'))    print('使用全外连接\r\n', dj1.join(dj2, how='outer'))

还有一种连接方式:concat

concat方法相当于数据库中的全连接(UNION ALL),可以指定按某个轴进行连接,也可以指定连接的方式join(outer,inner 只有这两种)。

与数据库不同的是concat不会去重,要达到去重的效果可以使用drop_duplicates方法

     dc1 = pd.DataFrame({'city': ['ChicaGo', 'San Francisco', 'New York City'], 'rank': range(1, 4)})        dc2 = pd.DataFrame({'city': ['Chicago', 'Boston', 'Los Angeles'], 'rank': [1, 4, 5]})        print(dc1)        print(dc2)        # print('按轴进行内连接\r\n', pd.concat([dc1, dc2], join="inner", axis=0))        dc3=pd.concat([dc1,dc2],join="inner", axis=0) #axis=1横向操作,axis=0纵向操作        print(dc3)        dc4=pd.concat([dc1,dc2],keys=['a','b']) #进行外连接并指定keys(行索引) 用a,b 进行标识        print(dc4)        dc5 = pd.concat([dc1,dc2],ignore_index=True).drop_duplicates() #完全一样时候,去重数据        print(dc5)if __name__ == '__main__':    PanMerge().PanMer()

关于“Python中的Merge怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python中的Merge怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python中的Merge怎么使用

本文链接: https://lsjlt.com/news/349595.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中的Merge怎么使用
    这篇文章主要介绍了Python中的Merge怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中的Merge怎么使用文章都会有所收获,下面我们一起来看看吧。meragepandas提供了一个类似...
    99+
    2023-07-05
  • 怎么在python中使用merge函数
    本篇文章为大家展示了怎么在python中使用merge函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Pytho...
    99+
    2023-06-14
  • 怎么在python中使用merge()连接
    今天就跟大家聊聊有关怎么在python中使用merge()连接,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、说明pandas提供了一个类似于关系数据库的连接(join)操作的方法...
    99+
    2023-06-15
  • Python的concat与merge函数怎么使用
    这篇“Python的concat与merge函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python的conc...
    99+
    2023-06-30
  • Python中Merge使用的示例详解
    merage pandas提供了一个类似于关系数据库的连接(join)操作的方法merage,可以根据一个或多个键将不同DataFrame中的行连接起来,语法如下: merge(le...
    99+
    2023-02-21
    Python Merge使用 Python Merge
  • SQL Server中怎么使用Merge语句
    本篇文章给大家分享的是有关SQL Server中怎么使用Merge语句,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。面举一个例子来具体说明一下...
    99+
    2024-04-02
  • R语言中的merge函数怎么使用
    在R语言中,merge函数用于合并两个数据框(data frame)。该函数的一般用法如下: merged_df <- mer...
    99+
    2024-03-04
    R语言
  • oracle的merge语句怎么使用
    Oracle的MERGE语句用于合并数据,可以同时执行INSERT、UPDATE、DELETE操作。它的基本语法如下: MERGE ...
    99+
    2024-04-09
    oracle
  • 如何在python中使用merge函数
    本篇文章为大家展示了如何在python中使用merge函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、lon...
    99+
    2023-06-14
  • SQL的Merge关键字怎么使用
    这篇文章主要介绍“SQL的Merge关键字怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL的Merge关键字怎么使用”文章能帮助大家解决问题。Merge关键字是一个神奇的DML关键字。它...
    99+
    2023-06-27
  • 怎么在python中利用merge实现一个堆
    怎么在python中利用merge实现一个堆?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;...
    99+
    2023-06-14
  • 怎么使用Git删除merge操作
    今天小编给大家分享一下怎么使用Git删除merge操作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、回顾Git merg...
    99+
    2023-07-05
  • oracle中merge into如何使用
    oracle中merge into如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。merge into的形式:MERGE IN...
    99+
    2024-04-02
  • webpack-merge的使用教程
    目录为什么要用webpack-merge安装目录结构为什么要用webpack-merge development(开发环境) 和 production(生产环境) 这两个环境下的构建...
    99+
    2023-02-07
    webpack-merge用法 webpack-merge使用
  • jdbc使用oracle中merge into函数
    merge into可以使oracle数据表中已有数据进行合并。即有则update,否则更新下边的示例是在jdbc数据源连接后测试通过的1、单条数据Long companyAuthId&...
    99+
    2024-04-02
  • SQLServer中merge函数如何使用
    本篇文章给大家分享的是有关SQLServer中merge函数如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Merge关键字是一个神奇的...
    99+
    2024-04-02
  • Java中merge()函数如何使用
    Java中merge()函数如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。merge() 怎么用假设我们有这么一段业务逻辑,我有一个学生成绩对象的列表,...
    99+
    2023-06-16
  • python中merge多对多匹配的问题怎么解决
    在Python中,可以使用pandas库的merge()函数来解决多对多匹配的问题。merge()函数可以将两个或多个数据集按照指定...
    99+
    2023-10-11
    python
  • python中DataFrame数据合并merge()和concat()方法怎么用
    这篇文章主要讲解了“python中DataFrame数据合并merge()和concat()方法怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中DataFrame...
    99+
    2023-07-02
  • android studio的merge如何使用
    在Android Studio中,Merge是一个用于合并代码的工具。它可以将两个或多个分支的代码合并为一个新的分支,以解决代码冲突...
    99+
    2024-02-29
    android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作