Pandas merge合并两个DataFram
创始人
2025-05-28 13:55:51
0

Pandas merge

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

  • left:要合并的左侧DataFrame。
  • right:要合并的右侧DataFrame。
  • how:指定合并方式,包括‘left’、‘right’、‘outer’和‘inner’四种。
  • on:指定按照哪些列进行合并,可以是单个列名或包含多个列名的列表。
  • left_onright_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。

相关内容

热门资讯

数据库系统(下)-软件设计(二... 数据库系统-3NF(上)-软件设计(二十七)...
【Spring6】事务 7、事务 7.1、JdbcTemplate 7.1.1、简介 Spring 框架对 JDBC 进行...
msql问题集合 文章目录前言一、设置mysql最大连接数二、mysql只要改动配置任意内容就启动失败1.问题原因2....
【C++】STL—— vect... 文章目录📕 vector 简介📕 vector 模拟实现框架构造函数...
网络安全岗位介绍——等级保护测... 1、什么是等保? 等保测评”全称是信息安全等级保护测评。是经公安部认证的具有资质的测评机构ÿ...
面试题——spring  介绍Spring Boot的启动流程 首先,Spring Boot项目创建完成会默认...
智慧大棚Web3D可视化系统 ... 农业的发展离不开农作物的生长,而农作物的生长会受到多方面的限制,主要是外...
Meta分析在生态环境领域里的... Meta分析在生态环境领域里的应用Meta分析(Meta Analysis࿰...
微搭问答003-下拉选项如何去... 我设计了一个数据源,里边有一个字段录入的时候有重复数据,我想把这个字段作...
微搭问答003-下拉选项如何去... 我设计了一个数据源,里边有一个字段录入的时候有重复数据,我想把这个字段作...
计算机网络 互联网模拟实验 一、实验名称 互联网模拟实验 二、实验目的 掌握互联网路由器连接与基本配置方法。掌握路由表静态路由配...
sdbusplus:控制ser... service可以对其property的读写进行控制:#include #includ...
我在工作中使用到的stream... 文章目录介绍原始代码修改后代码讲解 介绍 字段中有个 1,2,3,4 形式的varchar Loca...
使用 Athena (Pres... 在传统企业客户,无论是前台的交易数据库还是后台的数据仓库,都会选择使用 ...
leetcode刷题之回文链表 目录 做题思路 代码实现 1.找到链表的中间节点 2.反转中间节点之后的链表 3.判断倒置的后半部分...
点亮LED 目录 一、LED 硬件控制方式 二、LED 应用程序 1、定义宏 2、main函数 ①、打开文件  ...
进销存软件哪个简单好用? 进销存软件哪个简单好用? 十分理解很多小微企业/个体户生存不易,希望在进...
Hadoop运行环境搭建 一、Hadoop运行环境搭建(开发重点) 1.1 模板虚拟机环境准备 0...
C 语言网络编程 — 内核协议... 目录 文章目录目录关键技术DMAsk_buff 结构体Net driver Rx/Tx Ring B...
GitHub 上有些什么好玩的... 前言 各个领域模块的都整理了一下,包含游戏、一些沙雕的工具、实用正经的工具以及一些相关...