pandas如何在dataframe上再添加一个dataframe

`pandas`中,通常将一个`DataFrame`与另一个`DataFrame`进行合并或连接操作,主要有`concat`函数、`merge`函数和`join`方法三种方式,以下是具体介绍:

### 使用`concat`函数

`concat`函数可以沿着指定轴将多个`DataFrame`连接在一起,默认是按行方向(`axis=0`)进行连接,即将一个`DataFrame`添加到另一个`DataFrame`的下方。示例代码如下:

```python

import pandas as pd

#
创建第一个DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
#
创建第二个DataFrame
df2 = pd.DataFrame({'A': [4, 5, 6], 'B': [7, 8, 9]})

#
使用concat函数按行方向连接两个DataFrame
result = pd.concat([df1, df2], axis=0, ignore_index=True)
print(result)
print('=====================')
result2 = pd.concat([df1, df2], axis=1, ignore_index=True)
print(result2)

上述代码中,`axis=0`表示按行方向连接,`ignore_index=True`表示重新生成连续的索引。如果想要按列方向连接,即将`df2`添加到`df1`的右侧,只需要将`axis`参数设置为`1`

### 使用`merge`函数

`merge`函数用于根据指定的键将两个`DataFrame`进行合并。示例代码如下:

```python

import pandas as pd

#
创建第一个DataFrame
df1 = pd.DataFrame({'key': ['K1', 'K2', 'K3'], 'A': [1, 2, 3], 'B': [4, 5, 6]})
#
创建第二个DataFrame
df2 = pd.DataFrame({'key': ['K2', 'K3', 'K4'], 'C': [7, 8, 9], 'D': [10, 11, 12]})

#
使用merge函数根据key列进行合并
result = pd.merge(df1, df2, on='key', how='outer')
print(result)
result = pd.merge(df1, df2, on='key', how='inner')
print(result)
result = pd.merge(df1, df2, on='key', how='left')
print(result)
result = pd.merge(df1, df2, on='key', how='right')
print(result)

```

在这个例子中,`on='key'`指定了根据`key`列进行合并,`how='outer'`表示采用外连接的方式,inner是内连接,leftright分别是左右连接,保留两个`DataFrame`中所有的键值对。

### 使用`join`方法

`join`方法可以根据索引或指定的键将两个`DataFrame`进行合并。示例代码如下:

```python

import pandas as pd

#
创建第一个DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
#
创建第二个DataFrame
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['b', 'c', 'd'])

#
使用join方法根据索引进行合并
result = df1.join(df2, how='outer')
print(result)
result = df1.join(df2, how='inner')
print(result)
result = df1.join(df2, how='left')
print(result)
result = df1.join(df2, how='right')
print(result)

```

上述代码中,默认根据索引进行合并,`how='outer'`表示外连接。如果想要根据特定列进行合并,可以使用`on`参数指定列名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv12 ——基于卷积神经网络的快速推理速度与注意力机制带来的增强性能结合

概述 实时目标检测对于许多实际应用来说已经变得至关重要,而Ultralytics公司开发的YOLO(You Only Look Once,只看一次)系列一直是最先进的模型系列,在速度和准确性之间提供了稳健的平衡。注意力机制的低效阻碍了它们在…

OpenAI开放Deep Research权限,AI智能体大战升级,DeepSeek与Claude迎来新对决

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

鸿蒙5.0实战案例:基于RichEditor的评论编辑

往期推文全新看点(文中附带全新鸿蒙5.0全栈学习笔录) ✏️ 鸿蒙(HarmonyOS)北向开发知识点记录~ ✏️ 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ ✏️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景&#…

通过命令启动steam的游戏

1. 启动Steam客户端 在命令行输入以下命令来启动Steam客户端: start steam://open/main 如果Steam未安装在默认路径,可能需要先定位到Steam的安装目录,例如: cd C:\Program Files (x86)\Steam start steam://open/main 2. 通过…

RIP-AV:使用上下文感知网络进行视网膜动脉/静脉分割的联合代表性实例预训练

文章目录 RIP-AV: Joint Representative Instance Pre-training with Context Aware Network for Retinal Artery/Vein Segmentation摘要方法实验结果 RIP-AV: Joint Representative Instance Pre-training with Context Aware Network for Retinal Artery/Vein Segmentation …

单片机总结【GPIO/TIM/IIC/SPI/UART】

一、GPIO 1、概念 通用输入输出口;开发者可以根据自己的需求将其配置为输入或输出模式,以实现与外部设备进行数据交互、控制外部设备等功能。简单来说,GPIO 就像是计算机或微控制器与外部世界沟通的 “桥梁”。 2、工作模式 工作模式性质特…

.gitignore 文件中添加忽略 .pdb 文件

我在项目的根目录下创建.gitignore文件。打开.gitignore文件并添加忽略.pdb文件的规则。如下: 已经在 .gitignore 文件中添加了忽略 .pdb 文件的规则,但是提交到 Git 仓库时仍然看到了 .pdb 文件,这通常意味着 .pdb 文件在 .gitignore 文件被…

ubuntu配置jmeter

1.前提准备 系统 ubuntu server 22.04 前提条件:服务器更新apt与安装lrzsz:更新apt: sudo apt update安装lrzsz: 命令行下的上传下载文件工具 sudo apt install lrzszsudo apt install zip2.安装jemeter 2.1.下载jdk17 输入命令&#xf…

半导体晶圆精控:ethercat转profient网关数据提升制造精度

数据采集系统通过网关连接离子注入机,精细控制半导体晶圆制造过程中的关键参数。 在半导体制造中,晶圆制造设备的精密控制是决定产品性能的关键因素。某半导体工厂采用耐达讯Profinet转EtherCAT协议网关NY-PN-ECATM,将其数据采集系统与离子注…

VSCode+PlatformIO报错 找不到头文件

如图示,找不到目标头文件 demo工程运行正常,考虑在src文件夹内开辟自己的代码,添加后没有找到 找了些资料,大概记录如下: 1、c_cpp_properties.json 内记录 头文件配置 .vscode 中,此文件是自动生成的&a…

ARM 处理器平台 eMMC Flash 存储磨损测试示例

By Toradex秦海 1). 简介 目前工业嵌入式 ARM 平台最常用的存储器件就是 eMMC Nand Flash 存储,而由于工业设备一般生命周期都比较长,eMMC 存储器件的磨损寿命对于整个设备来说至关重要,因此本文就基于 NXP i.MX8M Mini ARM 处理器平台演示…

Comfy UI 快捷键

Comfy UI 页面的快捷键操作(记录下,以防忘记): 捷径命令Ctrl Enter将当前图表排队等待生成Ctrl Shift Enter将当前图表排成第一个生成图表Ctrl Z/Ctrl Y撤消/重做Ctrl S保存工作流程Ctrl O加载工作流Ctrl A选择所有节点A…

uniapp 本地数据库多端适配实例(根据运行环境自动选择适配器)

项目有个需求,需要生成app和小程序,app支持离线数据库,如果当前没有网络提醒用户开启离线模式,所以就随便搞了下,具体的思路就是: 一个接口和多个实现类(类似后端的模板设计模式)&am…

HIVE SQL函数之比较函数

背景:今天接到一个临时需求,需要比较abc的大小,但是abc三个字段都存在为空的情况。 开发:对于这个开发很简单,因为比较函数有太多了,首先想到的是用case when去进行一个非空的判断,再去比较用I…

AI探索笔记:浅谈人工智能算法分类

人工智能算法分类 这是一张经典的图片,基本概况了人工智能算法的现状。这张图片通过三个同心圆展示了人工智能、机器学习和深度学习之间的包含关系,其中人工智能是最广泛的范畴,机器学习是其子集,专注于数据驱动的算法改进&#…

进程概念、PCB及进程查看

文章目录 一.进程的概念进程控制块(PCB) 二.进程查看通过指令查看进程通过proc目录查看进程的cwd和exe获取进程pid和ppid通过fork()创建子进程 一.进程的概念 进程是一个运行起来的程序,而程序是存放在磁盘的,cpu要想执行程序的指…

OA办公系统自动渗透测试过程

目录 一、下载环境源码 二、部署环境 三、测试 XSS漏洞 SQL注入 文件上传漏洞 一、下载环境源码 OA源码打包地址: https://download.csdn.net/download/weixin_43650289/90434502?spm=1001.2014.3001.5503 二、部署环境

怎么修改node_modules里的文件,怎么使用patch-package修改node_modules的文件,怎么修改第三方库原文件。

在开发中会遇到需要node_modules里第三方库有bug,然后需要修改node_modules文件的情况 使用patch-package包可以修改node_modules里的文件 patch-package npm 官网:patch-package - npm 安装 npm i patch-package 修改文件后 npx patch-package s…

Python在实际工作中的运用-通用格式CSV文件自动转换XLSX

继续上篇《Python在实际工作中的运用-CSV无损转XLSX的几个方法》我们虽然对特定格式的CSV实现了快速转换XLSX的目标,但是在运行Py脚本前,还是需要编辑表格创建脚本和数据插入脚本,自动化程度很低,实用性不强,为减少人工提高效率,实现输入CSV文件路径即可自动适配完成转换…

seacmsv9报错注入

1、seacms的介绍 ​ seacms中文名&#xff1a;海洋影视管理系统。是一个采用了php5mysql架构的影视网站框架&#xff0c;因此&#xff0c;如果该框架有漏洞&#xff0c;那使用了该框架的各个网站都会有相同问题。 2、源码的分析 漏洞的部分源码如下&#xff1a; <?php …