pandas之合并数据集

从零到一:Cadence AC仿真中的运放性能参数深度解析与实战避坑指南 本文深度解析Cadence AC仿真中运放性能参数的精确测量方法,包括开环增益、带宽和相位裕度等关键指标。通过实战案例分享常见设置错误的避坑技巧,帮助工程师提升设计成功率和仿真效率,特别针对全差分运放和工艺角分析提供专业指导。 阅读详情

1. merge函数

详见【python】详解pandas库的pd.merge函数

在这里插入图片描述

2. concat函数

pd.concat(
    objs: Union[Iterable[ForwardRef('NDFrame')], Mapping[Optional[Hashable], ForwardRef('NDFrame')]],
    axis=0,
    join='outer',
    ignore_index: bool = False,
    keys=None,
    levels=None,
    names=None,
    verify_integrity: bool = False,
    sort: bool = False,
    copy: bool = True,
)

常用的参数:objs是要合并的df或Series,可以将待合并的df放到一个列表里,一起传入,可以是两个df,也可以是多个df;axis=0意思是默认按列合并,即取列名的并集或交集进行合并df,当设为1时,对行索引名取并集或交集进行合并df;join='outer'意思是默认取并集,可设置为'inner'改为取交集;ignore_index: bool = False则是是否忽略索引名,默认不忽略,即用原索引名,当设为True时,用0,1,2,……代替;

通过几个例子来说明这个函数的用法。

先建立两个DataFrame:

data1 = {'name': ['apolo', 'adm', 'bolon', 'ali', 'cathy', 'devn', 'elov'],
        'age': [18, 29, 32, 28, 34, 19, None],
        'sex': ['male', 'female', 'male', 'male', 'female', 'male', 'female'],
        'weight': [67, 78, 87, 59, 90, 101, 78],
        'height': [170, 189, 190, 179, None, 160, 185]}
df1 = pd.DataFrame(data1, index=['a', 'i', 'c', 'd', 'h','f', 'g'])
df1

输出:df1

    name	age	    sex	weight	height
a	apolo	18.0	male	67	170.0
i	adm	    29.0	female	78	189.0
c	bolon	32.0	male	87	190.0
d	ali	    28.0	male	59	179.0
h	cathy	34.0	female	90	NaN
f	devn	19.0	male	101	160.0
g	elov	NaN	    female	78	185.0
data2 = {'name': ['apolo', 'adm', 'bolon', 'ali', 'cathy'],
        'age': [18, 29, 32, 28, None],
        'sex': ['male', 'male', 'female', 'male', 'female'],
        'country': ['BR', 'MX', 'CL', 'BR', 'CO']}
df2 = pd.DataFrame(data2, index=['a', 'b', 'm', 'n', 'h'])
df2

输出:df2

    name	age	    sex	country
a	apolo	18.0	male	BR
b	adm	    29.0	male	MX
m	bolon	32.0	female	CL
n	ali	    28.0	male	BR
h	cathy	NaN	   female	CO

直接用concat()将上述两个df进行合并。

result = pd.concat([df1, df2])
result

输出:可以看到,新的数据集的列名是它们的并集。对于只在一个df中出现的列(如country,只原本在df2中出现),该列在另一个df对应的索引的值是空值。此时新的数据集的行索引为原数据集的所有行索引,可以重复。

  	 name	age	     sex	weight	height	country
a	apolo	18.0	male	67.0	170.0	NaN
i	adm	    29.0	female	78.0	189.0	NaN
c	bolon	32.0	male	87.0	190.0	NaN
d	ali	    28.0	male	59.0	179.0	NaN
h	cathy	34.0	female	90.0	NaN	    NaN
f	devn	19.0	male	101.0	160.0	NaN
g	elov	NaN	    female	78.0	185.0	NaN
a	apolo	18.0	male	NaN	     NaN	BR
b	adm	    29.0	male	NaN	     NaN	MX
m	bolon	32.0	female	NaN	     NaN	CL
n	ali	    28.0	male	NaN	     NaN	BR
h	cathy	NaN	    female	NaN 	 NaN	CO

设置axis=1

result = pd.concat([df1, df2], axis=1)
result

输出:可以看到,此时行索引名是原数据集行索引的并集,对于只在一个df中出现的行索引名(如n,只原本在df2中出现),该行在另一个df对应的列的值是空值。此时新的数据集的列名为原数据集的所有列名,可以重复。

   	name	age	     sex	weight	height	name	age	    sex	  country
a	apolo	18.0	male	67.0	170.0	apolo	18.0	male	BR
i	adm	    29.0	female	78.0	189.0	NaN	     NaN	NaN	    NaN
c	bolon	32.0	male	87.0	190.0	NaN	     NaN	NaN	    NaN
d	ali	    28.0	male	59.0	179.0	NaN	     NaN	NaN	    NaN
h	cathy	34.0	female	90.0	NaN	   cathy	 NaN	female	CO
f	devn	19.0	male	101.0	160.0	NaN	     NaN	NaN	    NaN
g	elov	NaN	   female	78.0	185.0	NaN	     NaN	NaN  	NaN
b	NaN	    NaN	    NaN	     NaN	NaN	    adm	    29.0	male	MX
m	NaN	    NaN	    NaN	     NaN	NaN	   bolon	32.0	female	CL
n	NaN	    NaN	    NaN	     NaN	NaN	    ali	    28.0	male	BR

设置join='inner'

result = pd.concat([df1, df2], join='inner')
result

输出:可以看到此时的列名为原数据集列名的交集,而行索引依旧是原数据集的所有行索引,可以重复。

     name	age	    sex
a	apolo	18.0	male
i	adm	    29.0	female
c	bolon	32.0	male
d	ali	    28.0	male
h	cathy	34.0	female
f	devn	19.0	male
g	elov	NaN	    female
a	apolo	18.0	male
b	adm	    29.0	male
m	bolon	32.0	female
n	ali	    28.0	male
h	cathy	NaN	    female

设置ignore_index=True

result = pd.concat([df1, df2], join='inner', ignore_index=True)
result

输出:可以看到此时的行索引变为了0, 1, 2, ……,11,而不是原数据集的行索引;同样,当设置axis=1时,列索引即列名会变为0,1, 2,……

	name	age	    sex
0	apolo	18.0	male
1	adm	    29.0	female
2	bolon	32.0	male
3	ali	    28.0	male
4	cathy	34.0	female
5	devn	19.0	male
6	elov	NaN	    female
7	apolo	18.0	male
8	adm	    29.0	male
9	bolon	32.0	female
10	ali	    28.0	male
11	cathy	NaN 	female

3. combine_first函数

combine_first函数将空值补齐:

df1 = pd.DataFrame({'a':[1, np.nan, 5, np.nan],
                    'b':[np.nan, 2, np.nan, 6],
                    'c':range(2, 18, 4)})
df2 = pd.DataFrame({'a':[5, 4, np.nan, 3, 7],
                    'b':[np.nan, 3, 4, 6, 8]})

df1:


	 a	 b	c
0	1.0	NaN	2
1	NaN	2.0	6
2	5.0	NaN	10
3	NaN	6.0	14

df2:

	  a	 b
0	5.0	NaN
1	4.0	3.0
2	NaN	4.0
3	3.0	6.0
4	7.0	8.0
df1.combine_first(df2)

输出结果:


	 a	 b	 c
0	1.0	NaN	2.0
1	4.0	2.0	6.0
2	5.0	4.0	10.0
3	3.0	6.0	14.0
4	7.0	8.0	NaN
【树莓派4B】八、树莓派软路由,Ubuntu18.04配置路由转发 我的目的是通过把树莓派做成一个软路由,相当于一个智能路由器。 材料 树莓派4B,操作系统其实可以是其他的Linux版本。以为4B自带无线网卡,就用自带无线网卡作为路由出口。 大概思路 具体步骤 配置两个网卡的IP sudo vim /etc/network/interface 这里设置静态IP,也可以动态获取。 #Local loopback auto lo iface lo inet loopback #Ethernet0 auto eth0 iface eth0 inet static addr 阅读详情

相关推荐

5G NR协议栈及功能1 - 总体架构与物理层

  备注:本文所有图片均来自3GPP标准,包括3GPP TS 38.300 V15.0.0 (2017-12)和3GPP TS 38.202 V15.0.0 (2017-12)等。本文主要介绍截止目前(2018年1月25日),3GPP 5G NR相关的协议内容,后期可能会有更新。   本系列共分为两部分:   1. 5G NR协议栈及功能1 - 总体架构与物理层 http://blog...

Wei Xingguang 11万+

Python 教学 | Pandas 数据合并(含目录文件合并案例)

本期文章我们就学习如何使用 Pandas 的数据合并函数。

weixin_55633225的博客 4873

Power Bi数据分析案例:在线零售平台销售数据分析

该数据集为,涵盖2023年1月至2024年3月,包含用户群体特征、购买行为、产品偏好以及参与度指标。用户维度:Customer_ID,Age,Gender,City产品维度:Product_Category,Unit_Price事实表:Order_ID,Quantity,Total_Amount,Discount_Amount,Rating,Delivery_Time在Power Query当中处理销售日期列,并新增年龄段、浏览页面分段列。

2301_79586168的博客 1277

【Pandas 合并数据】

数据合并是将两个或多个数据集(DataFrame)中的数据合并成一个新的数据集的过程。

武帝为此的博客 1319

AI使用指南:6个超实用的Prompt提示词模板

最近越来越多人开始接触AI,但其实想要让AI更懂你,关键是掌握对的提示词模板!今天就给大家分享6种超实用的Prompt提示词模板,不管你是小白还是老手都能用

程序员世杰 8166

电力-平衡式IEC 60870-5-101规约报文解析

本文详细介绍了电力自动化中平衡式IEC 60870-5-101规约的应用,包括链路建立与初始化、对时、遥控操作、数据上送和总召唤等关键步骤,通过实例解析了报文格式和交互过程,是理解配网自动化通信的重要参考资料。

让你爱上电路设计 5682

数据分析12——Pandas中数据合并方法

在pandas中进行数据合并的操作和数据库中的join操作非常类似。

sz1125218970的博客 4055

Android16 3576 u盘固件升级功能添加

1.在u-boot/drivers/power/pmic/rk8xx.c。这里是读取power键的寄存器判断长短按。

tzj1058756809的博客 574

【Pandas总结】第七节 Pandas 合并数据集_pd.concat()

concat 函数在通常情况下都只用于上下堆叠合并,所以其实我们只要知道上下堆叠合并,这一种使用方法就完全OK啦~ 以上为个人理解,如有错误,还请不吝赐教,多多指导~~

weixin_47139649的博客 7945

RK3568平台(USB篇)USB基础知识

现象:把USB设备比如Android手机接到PC答1:是USB控制器,是USB控制器内嵌的root hub.答2. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"提示你安装的是"设备驱动程序"。USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序。答3. PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低电平USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;

weixin_49303682的博客 1658

【Windows Server 2019】邮件服务器配置与管理——安装及配置Winmail服务器(上)

博文介绍了如何安装邮件服务器 Winmail,如何配置Winmail,包括运行服务器,Winmail管理工具介绍和域名配置。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 2万+

数据分析之Pandas合并操作总结

↑↑↑关注后"星标"Datawhale每日干货 &每月组队学习,不错过 Datawhale干货 作者:耿远昊,Datawhale成员,华东师范大学 pand...

Datawhale 7246

【Word提效 No.010】使用AI一键复制格式刷应用格式

本文介绍利用AI工具WorkBuddy实现Word文档格式批量复制的自动化解决方案。通过简单指令即可将指定段落的格式一键应用到多个目标段落,解决传统格式刷操作繁琐、易出错的问题。方案包含三步操作:准备文档、输入指令模板、验收效果,并提供多种场景的现成指令示例。该工具支持字体、段落等格式属性的批量复制,且不会覆盖原文件,适用于论文、手册等文档的格式统一需求。

u011186532的专栏 77

Pandas 合并数据集

在数据挖掘过程中,经常会有不同表格的数据需要进行合并操作。今天介绍通过python下的pandas库下的merge方法和concat方法来实现数据集的合并。1.mergemerge 函数通过一个或多个键来将数据集的行连接起来。该函数的主要 应用场景是针对同一个主键存在两张包含不同特征的表,通过该主键的连接,将两张表进行合并。合并之后,两张表的行数没有增加,列数是两张表的列数之和减一。 函数的具体参

CV前沿 6万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python根据index合并_Pandas 按索引合并数据集的方法

如下所示:import numpy as npimport pandas as pdfrom pandas import Series,DataFrame一、merge函数left1 = DataFrame({'水果':['苹果','梨','草莓'],'价格':[3,4,5],'数量':[9,8,7]}).set_index('水果')right1 = DataFrame({'水果':['苹果',...

weixin_39805851的博客 9628

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

pandas中合并数据集

数据集的合并 1、pandas.merge() 语法: pandas.merge(left, right, how=‘inner’, on=None) left:参与合并的左侧DataFrame。 right:参与合并的右侧DataFrame。 how:连接方式,默认为inner,inner是使用两个表都有的键(笛卡尔积);left使用左表中所有的键;right使用右表中所有的键;outer使用两个表中所有的键。 on:用于连接的列名,必须同时存在于左右两个dataFrame对象中,如果未指定,则以left

weixin_43421371的博客 1269

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Pandas 合并数据集:concat 和 append

一些最有趣的数据研究来自于合并不同的数据源。 这些操作可以包括从非常简单的两个数据集的拼接,到更复杂的数据库式连接和合并,这些操作能够正确处理数据集之间的重叠部分。 `Series` 和 `DataFrame` 都是为这种操作设计的,Pandas 提供了函数和方法,使得这种数据整理变得快速且简单。

Humbunklung的专栏 1394

Pandas合并数据集

合并pop和abbrevs并删除重复列。# 取year为2010年的两种人口的数据。# 输出人口密度前5名和倒数5名。print('前5名:')print('后5名:')

Yuuuuu0427的博客 699

Pandas_04合并数据集

一、合并数据集 1、pandas.merge :根据一个或多个键将不同DataFrame中的行连接起来。 2、pandas.concat: 可以沿着一条轴将多个对象堆叠到一起 3、实例方法conbine_first: 将重复数据编结到一起,用一个对象中的值填充另外一个对象的缺失值。 二、pandas.merge:数据库风格的DataFrame合并 数据准备: import pandas as pd import os os.chdir('E:\学习文档\data') os.getcwd() stud

baidu_41805096的博客 1034

Pandas数据处理之合并数据集

3.7 合并数据集:Concat与Append操作 将不同的数据源进行合并是数据处理中最常见的操作,包括将两个不同数据集简单地拼接,也包括处理有重叠字段的数据集。Series与DataFrame都具备这类操作,Pandas的函数与方法让数据合并变得更加快速. In [1] :import numpy as np import pandas as pd 为了简单起见,定义一个能够创建DataF...

初一的博客 4624

Pandas中数据清理、连接数据以及合并多个数据集的方法

Pandas 中可通过pd.join和pd.merge实现类似数据库的 join 操作,merge更灵活,若依据行索引合并可考虑 join函数,concat连接数据时涉及 join参数(inner或outer)。函数 / 方法特点对齐方式默认连接方式concatPandas 函数,可垂直和水平连接两个或多个 pandas 对象只用索引对齐外连接(可设为内连接)joinDataFrame 方法,只能水平连接两个或多个 pandas 对象。

wwwwwjjnsnns的博客 653

pandas:使用concat函数合并数据集

使用concat函数合并数据集 通过列表的形式,将需要合并的数据集作为第一个参数传入。数据集合并默认是按照第0个数轴合并,此时根据column索引值将对应的数据合并。没有的值则用NaN代替。 可以通过参数axis参数指定按照哪个数轴进行合并。 import numpy as np import pandas as pd arr = np.random.randint(10,size=(3,4)) df1 = pd.DataFrame(arr, columns=["A", "B", "C", "D"]) d

liangbilin的博客 857

Pandas高级:合并数据集concat

本文主要介绍pandas中常用的数据合并的方法concat。 先定义一个生产数据的函数: """一个简单的DataFrame""" def make_df(cols, ind): data = {c: [str(c) + str(i) for i in ind] for c in cols} return pd.DataFrame(data, ind...

opp003的博客 557
上一篇: 数据清洗之字符串操作和正则表达式
下一篇: pandas之stack和unstack
米法·
博客等级 码龄8年 179粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值