超详细汇总,Pandas中常见的数据合并操作,59个案例,82张图详解 | 图解Pandas-图文第10篇
01写在前面
大家好,我是阳哥,欢迎来到「Python数据之道」。
今天来跟大家分享《图解Pandas》系列图文内容的 第 10 篇,主要介绍 Pandas 中常见的数据合并操作
。
本文是付费阅读文章,付费阅读内容包括《图解Pandas》图文干货内容、可以在电脑端观看的视频以及配套的源代码等。
此外,为避免各种不必要的麻烦,微信没有退款机制,付费前请谨慎。
Pandas
是 Python数据分析中用的最多的工具,为了大家能够更好地学习 Pandas
,阳哥开始制作 《图解Pandas》 专题系列内容。
《图解Pandas》 最主要的目标,是以视频图解、动态图片等方式呈现,拆解 Pandas 在数据处理过程中的主要知识点,以便大家能进一步了解 Pandas
的使用,形象地介绍 Pandas
,进而使大家喜欢上 Pandas
这个工具。
《图解Pandas》图文专题,最新的内容可以点击下面的图片进行查看。
在本文编写时,《图解Pandas》系列已发布的图文如下:
图文链接 | 视频号对应编号 |
---|---|
《图解Pandas》内容框架介绍 | - |
图文01-数据结构介绍 | 001 |
图文02-创建数据对象 | 002 |
图文03-读取和存储Excel文件 | 003、004 |
图文04-常见的数据访问 | 005 |
图文05-常见的数据运算 | 006-008 |
图文06-常见的数学计算 | 009、010 |
图文07-常见的数据统计 | 011-015 |
图文08-常见的数据筛选 | 016-028 |
图文09-常见的缺失值处理 | 029-034 |
本次主要介绍 Pandas 中常见的数据合并操作
,内容框架如下:
该主题包括 13 期视频,在微信视频号「Python数据之道」中发布的对应视频编号为 035
至 047
,大家可以前往观看。
注:本文发布时,在视频号中可以观看视频
035
,后续将发布036
至047
。
在本文后面内容中可以同时观看视频
035
至047
。
扫描下面的二维码,关注视频号,可以观看《图解Pandas》已发布的所有视频以及及时推送最新的视频:
02常见的数据合并操作
Python环境
开始之前,按照惯例先介绍下本次内容涉及的 Python 环境,如下:
Python 3.8 Pandas 1.4.3 numpy 1.22.3
我是在 jupyter notebook
中运行代码的,首先引入相关 Python 库:
import pandas as pd
import numpy as np
import sys
print(f"pandas version:{pd.__version__}")
print(f"numpy version:{np.__version__}")
print(f"python version:{sys.version}")
# pandas version:1.4.3
# numpy version:1.22.3
# python version:3.8.2
append 函数
创建数据
咱们先来创建几个 dataframe,也就是“数据框”。
关于创建数据对象的详细介绍,大家可以观看 「图解Pandas」系列的第2期视频。
创建 data1
如下:
data1 = pd.DataFrame(np.arange(12).reshape(4, 3), columns=list("abc"))
data1
创建 data2
如下:
data2 = pd.DataFrame(np.arange(12, 24).reshape(4, 3), columns=list("abc"))
data2
创建 data3
如下:
data3 = pd.DataFrame(np.arange(24, 36).reshape(4, 3), columns=list("abc"))
data3
后续,根据实际需要,还会创建其他的一些数据框。
在内容介绍过程中,主要是针对数据框介绍各种方法的应用。同时,也需要知道,其中有不少方法,对于 Series 也是适用的。
案例01
append 函数可以直观的理解为两个数据框沿 “0轴方向” 叠加。
这里,在合并后的结果中,可以看出 data1 在上面,data2 在下面。
案例02
append 函数还可以设置行索引的显示方式,设置 ignore_index
为 True
,则结果中行索引会重新设置。如下:
案例03
需要注意的是,使用 append 函数,在代码运行的结果中,会有一个警告,提醒我们,append 函数已经被替换,在以后的版本中将会被移除,建议使用 concat 函数。
FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
所以, append 函数即将成为过去式,后续也会减少使用频率。
至于为什么会被替代,主要是 concat 函数可以实现 append 的操作功能,并且效率更高。
首先来看 append 的运行效率,下面这个代码片段运行时间在 6 毫秒左右,如下:
而 concat 函数,同样的代码运行时间不到 1 毫秒,运行效率远远高于 append 函数。