Pandas merge合并两个DataFram的实现

 更新时间:2023年03月16日 14:27:42   作者:uncle_ll  
本文主要介绍了Pandas merge合并两个DataFram的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Pandas merge

pandas.merge()是pandas库中用于合并两个或多个DataFrame对象的函数,其常用的参数有以下几个:

  • left:要合并的左侧DataFrame。
  • right:要合并的右侧DataFrame。
  • how:指定合并方式,包括‘left’、‘right’、‘outer’和‘inner’四种。
  • on:指定按照哪些列进行合并,可以是单个列名或包含多个列名的列表。
  • left_on和right_on:指定左侧和右侧DataFrame中进行合并的列名,如果两个DataFrame中的列名不同,需要通过这两个参数指定。
  • suffixes:指定当两个DataFrame中有相同列名时,为区分而添加的后缀。

示例代码

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]})

# 通过key列合并两个DataFrame
merged = pd.merge(df1, df2, on='key')
print(merged)

运行结果:

  key  value_x  value_y
0   B        2        5
1   D        4        6

在这个例子中,创建了两个DataFrame对象df1和df2,它们都有一个名为’key’的列。使用pd.merge()函数将这两个DataFrame对象按照’key’列进行合并,并将结果存储在merged变量中。最后,输出了合并后的结果,其中value_x和value_y分别代表合并前的df1和df2中的’value’列。

保留左边的DataFram

如果只想考虑左侧的DataFrame对象,在pandas.merge()函数中可以设置how=‘left’参数来实现。具体来说,how参数控制了两个DataFrame对象之间的合并方式,可以取值为’left’、‘right’、‘outer’和’inner’。当取值为’left’时,pandas.merge()函数会将左侧DataFrame对象中所有的行保留,并在合并后的DataFrame对象中添加右侧DataFrame对象中能够和左侧DataFrame对象匹配的行。

下面是一个示例代码:

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]})

# 只考虑左侧的DataFrame对象
merged = pd.merge(df1, df2, on='key', how='left')

print(merged)

运行结果:

  key  value_x  value_y
0   A        1      NaN
1   B        2      5.0
2   C        3      NaN
3   D        4      6.0

在这个例子中,将df1和df2按照’key’列进行合并,并将合并方式设置为’left’。合并结果中包含了df1中所有的行,因为只考虑左侧的DataFrame对象。右侧的DataFrame对象中’key’列为’E’和’F’的行在合并后的DataFrame对象中的’value_y’列都是NaN。

到此这篇关于Pandas merge合并两个DataFram的实现的文章就介绍到这了,更多相关Pandas merge合并两个DataFram内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • DJANGO-URL反向解析REVERSE实例讲解

    DJANGO-URL反向解析REVERSE实例讲解

    在本篇文章里小编给大家整理的是一篇关于DJANGO-URL反向解析REVERSE的相关知识点内容,需要的朋友们学习下。
    2019-10-10
  • python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结

    python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结

    这篇文章主要介绍了python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python爬虫实现使用beautifulSoup4爬取名言网功能案例

    Python爬虫实现使用beautifulSoup4爬取名言网功能案例

    这篇文章主要介绍了Python爬虫实现使用beautifulSoup4爬取名言网功能,结合实例形式分析了Python基于beautifulSoup4模块爬取名言网并存入MySQL数据库相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • Python3访问并下载网页内容的方法

    Python3访问并下载网页内容的方法

    这篇文章主要介绍了Python3访问并下载网页内容的方法,实例分析了Python页面抓取及写入文件的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 通过源码分析Python中的切片赋值

    通过源码分析Python中的切片赋值

    因为经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。而下面这篇文章则通过源码给大家分析介绍了Python中切片赋值的相关资料,需要的朋友可以参考学习,下面来一起看看吧。
    2017-05-05
  • Python实现希尔伯特变换(Hilbert transform)的示例代码

    Python实现希尔伯特变换(Hilbert transform)的示例代码

    希尔伯特变换(Hilbert transform)是一个对函数产生定义域相同的函数的线性算子,而且希尔伯特变换在信号处理中很重要,所以本文和大家分享了Python实现希尔伯特变换的代码,需要的可以参考一下
    2023-04-04
  • python 读取二进制 显示图片案例

    python 读取二进制 显示图片案例

    这篇文章主要介绍了python 读取二进制 显示图片案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python json模块与jsonpath模块区别详解

    Python json模块与jsonpath模块区别详解

    这篇文章主要介绍了Python json模块与jsonpath模块区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Numpy 数据处理 ndarray使用详解

    Numpy 数据处理 ndarray使用详解

    这篇文章主要为大家介绍了Numpy 数据处理 ndarray使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Python实现EM算法实例代码

    Python实现EM算法实例代码

    这篇文章主要给大家介绍了关于Python实现EM算法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10

最新评论