首先, 还是以天气为例, 准备如下数据:

df1 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'temperature': [21, 24, 32], }) df2 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'humidity': [89, 79, 80], }) df = pd.merge(df1, df2, on='city') 

输出:

上面的例子就是以 'city' 为基准对两个 dataframe 进行合并, 但是两组数据都是高度一致, 下面调整一下:

df1 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando', 'baltimore'], 'temperature': [21, 24, 32, 29], }) df2 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'san francisco'], 'humidity': [89, 79, 80], }) df = pd.merge(df1, df2, on='city') 

输出:

从输出我们看出, 通过 merge 合并, 会取两个数据的交集.

那么, 我们应该可以设想到, 可以通过调整参数, 来达到不同的取值范围. 
取并集:

df = pd.merge(df1, df2, on='city', how='outer') 

输出:

左对齐:

df = pd.merge(df1, df2, on='city', how='left') 

输出:

右对齐:

df = pd.merge(df1, df2, on='city', how='right') 


另外, 在我们取并集的时候, 我们有时可能会想要知道, 某个数据是来自哪边, 可以通过 indicator 参数来获取:

df = pd.merge(df1, df2, on='city', how='outer', indicator=True) 

输出:

在上面的例子中, 被合并的数据的列名是没有冲突的, 所以合并的很顺利, 那么如果两组数据有相同的列名, 又会是什么样呢? 看下面的例子:

df1 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando', 'baltimore'], 'temperature': [21, 24, 32, 29], 'humidity': [89, 79, 80, 69], }) df2 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'san francisco'], 'temperature': [30, 32, 28], 'humidity': [80, 60, 70], }) df = pd.merge(df1, df2, on='city') 

输出:

我们发现, 相同的列名被自动加上了 'x', 'y' 作为区分, 为了更直观地观察数据, 我们也可以自定义这个区分的标志:

df3 = pd.merge(df1, df2, on='city', suffixes=['_left', '_right']) 

输出:

好了, 以上, 就是关于 merge 合并的相关内容, enjoy~~~

转载于:https://www.cnblogs.com/rachelross/p/10428805.html

Pandas 基础(9) - 组合方法 merge相关推荐

  1. Pandas知识点-合并操作merge

    Pandas知识点-合并操作merge merge()方法是Pandas中的合并操作,在数据处理过程中很常用,本文介绍merge()方法的具体用法. 一.基础合并操作 merge(left, righ ...

  2. pandas基础操作大全之数据合并

    在pandas 基础操作大全之数据读取&清洗&分析中介绍了pandas常见的数据处理操作,现在继续对pandas常用的数据合并操作做下介绍,便于大家快速了解,也方便后续需要时快速查询. ...

  3. 快乐学习Pandas入门篇:Pandas基础

    Datawhale学习 作者:杨煜,Datawhale成员 寄语:本文对Pandas基础内容进行了梳理,从文件读取与写入.Series及DataFrame基本数据结构.常用基本函数及排序四个模块快速入 ...

  4. pandas object转float_数据分析篇 | Pandas基础用法6【完结篇】

    这是最后一篇,至此Pandas系列终于连载完了,有需要的也可以看看前面6篇,尽请收藏. 数据分析篇 | Pandas 概览 数据分析篇 | Pandas基础用法1数据分析篇 | Pandas基础用法2 ...

  5. 机器学习数据整合+pandas方法astype、merge、drop、to_numeric、concat等

    机器学习数据整合+pandas方法astype.merge.drop.to_numeric.concat等 # 合并两个数据集的数据并进行特征处理 def combine_features(self, ...

  6. Numpy与Pandas基础

    Numpy与Pandas基础 Cyczz 计算机小白 ​关注他 1 人赞同了该文章 本文包括: 一维数据分析 二维数据分析 一.一维数组 Numpy的一维数组(array) 创建一个一维数组,参数传入 ...

  7. 【Python】Pandas基础:结构化数据处理

    python:Pandas基础:结构化数据处理 目录: 文章目录 @[toc] 一 pandas及其重要性 二 pandas的数据结构介绍 1 Series 2 DataFrame 3 索引对象 三 ...

  8. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一、pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主

    利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目 ...

  9. Python科学计算之Pandas基础学习

    Python科学计算之Pandas基础学习 导入Pandas 我们首先要导入我们的演出明星--Pandas. 这是导入Pandas的标准方式.显然,我们不希望每时每刻都在程序中写'pandas',但是 ...

最新文章

  1. 基于长短读长和参考基因组的组装错误检测算法的研究
  2. 为什么很多网逃抓不到_为什么很多人找不到长久合作的毛刷厂家?
  3. 名词解释说明用英语怎么说_“用英语怎么说”译成How to say in English,典型的中式英语!...
  4. java enum判断_Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)
  5. 模板-1-模板类的特化
  6. 开机预读快还是不预读快_WIN 7下的超级预读比VISTA要好,改进不少!推荐开启超级预读!...
  7. 使用Phantom omni力反馈设备控制机器人
  8. CVPR 2021 机器学习及多模态最新进展分享
  9. python int转str_用Python生成抖音字符视频!
  10. VMware在RSA大会上的新发布
  11. [书目20090216]高绩效人士的五项管理 李践作品
  12. 计算机网络入门知识大全,计算机网络基础知识汇总(超全).doc
  13. 关于音游,除了节奏大师,你还熟悉哪些?
  14. U3D中物体渐隐和闪烁的方法
  15. android 局域网图片 管理,支持局域网浏览/简洁美观的安卓文件管理器-es文件管理器...
  16. javac ‘javac‘ 不是内部或外部命令,也不是可运行的程序 的解决办法
  17. 安装 VMware tools时报错:不在 sudoers 文件中。此事将被报告。
  18. “格式化”到底是啥意思?
  19. 第三天 入口文件index.php 01
  20. 分时操作系统(20世纪70年代)

热门文章

  1. android 当中taskAffinity属性与launchMode相关
  2. (五)Docker查看容器ip及指定固定IP
  3. kotlin集合操作符——映射操作符
  4. 使用FastJson解析时有关内部类的两个问题
  5. POJ 3660 Cow Contest
  6. 小程序动画Animation,高度增加动画形式,图标旋转动画形式
  7. 根据map键值对,生成update与select语句,单条执行语句
  8. git基础用法(一)
  9. tomcat JRE_HOME
  10. 文件系统损坏导致虚拟机无法正常启动的问题及解决方法