大家好,我是阳哥,欢迎来到「Python数据之道」。
本次是《图解Pandas》系列图文内容的 第 1 篇,主要是对Pandas中数据结构进行介绍。
本文是付费阅读文章,可免费阅读部分内容,隐藏部分主要是可以在电脑端查看的视频,以及源代码分享等。
若觉得内容有价值,可以继续阅读全文。
Pandas 是 Python数据分析中用的最多的工具,可以说是 Python数据分析中的瑞士军刀。
为了大家能够更好地学习 Pandas,阳哥打算制作一系列 《图解Pandas》 的内容。
《图解Pandas》图文专题,大家可以点击下面的图片进行查看。
《图解Pandas》 最主要的目标,是以动态图片、视频等方式呈现,实现从原理步骤拆解 Pandas 在数据处理过程中的主要知识点,以便大家能进一步从底层了解 Pandas 的使用,形象地介绍 Pandas,进而使大家喜欢上 Pandas 这个得心应手的工具。
关于《图解Pandas》的内容框架介绍的,大家可以前往下面的链接了解:
图解Pandas-内容框架介绍
今天主要是对Pandas中数据结构进行介绍。在视频号中发布的视频如下,大家可以前往观看:
开始之前,先介绍下本次内容涉及的Python环境,如下:
Python 3.8
Pandas 1.4.1
numpy 1.19.2
我是在 jupyter notebook 中运行代码的,首先引入相关 Python 库:
import pandas as pd
import numpy as np
在Pandas中,主要包括两种类型的数据,一种是 Series
,另一种是 DataFrame
,Series 是一维数据,而 DataFrame 是二维数据。
首先,咱们来了解 Series 数据,先创建数据,代码如左边所示,右边显示的是数据结果:
Series 数据由 索引 和 数据值 组成,可通过 index 属性 和 values 属性分别获取:
接下来,咱们来了解 DataFrame 数据,中文翻译称之为 数据框
,同样的,先创建数据对象:
与 Series数据类似,数据框 包含 索引和数据值。对于索引而言,数据框既有行索引,也有列索引。行索引通过 index属性获取,列索引通过columns 属性获取:
值得注意的是,数据框作为二维数据,由行和列组成,在数据运算时,经常会涉及 轴方向的设置,这里 axis=1 就是沿着红色箭头的方向进行运算,axis=’columns’ 是同样的效果;axis=0 就是沿着白色箭头的方向进行运算,axis=’index’ 是同样的效果。
在Pandas中,这两种数据结构是存在内在关联的。数据框可以看作是由Series组成的,并且这些Series拥有相同的索引。
如图所示,这个数据框可以拆分为三个 Series。
np.random.seed(0)
df = pd.DataFrame(
np.random.randint(10,size=(5,3)),
columns=list('abc')
)
df
上图中,对 DataFrame 按列进行拆分,得到的 3 个 Series分别是 df['a']
、df['b']
、df['c']
,以 df['a']
为例,来查看其数据类型。
类似地,可以按行对 DataFrame 进行拆分,形成 5 个 Series:
大家可以通过设置不同的行索引值( [0,1,2,3,4]
),来查看其他的 Series 。
为了方便大家在电脑上观看视频,在这里上传了与视频号中对应的视频内容: