查看原文
其他

超详细汇总,Pandas中常见的数据合并操作,59个案例,82张图详解 | 图解Pandas-图文第10篇

我是阳哥 Python数据之道 2022-12-28

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数据之道」中发布的对应视频编号为 035047,大家可以前往观看。

注:本文发布时,在视频号中可以观看视频 035,后续将发布 036047


在本文后面内容中可以同时观看视频 035047

扫描下面的二维码,关注视频号,可以观看《图解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(43), columns=list("abc"))
data1

创建 data2 如下:

data2 = pd.DataFrame(np.arange(1224).reshape(43), columns=list("abc"))
data2

创建 data3 如下:

data3 = pd.DataFrame(np.arange(2436).reshape(43), columns=list("abc"))
data3

后续,根据实际需要,还会创建其他的一些数据框。

在内容介绍过程中,主要是针对数据框介绍各种方法的应用。同时,也需要知道,其中有不少方法,对于 Series 也是适用的。

案例01

append 函数可以直观的理解为两个数据框沿 “0轴方向” 叠加。

这里,在合并后的结果中,可以看出 data1 在上面,data2 在下面。

案例02

append 函数还可以设置行索引的显示方式,设置 ignore_indexTrue ,则结果中行索引会重新设置。如下:

案例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 函数。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存