前言
Pandas 是基于 Python 构建的开源数据分析库,提供了强大的数据结构和运算功能。
- Series:一维数组,类似于 Numpy 中的一维 array,但具有索引标签,可以保存不同类型的数据,如字符串、布尔值、数字等。
- DataFrame:二维表格型数据结构,与 SQL 表或 Excel 工作表类似,每列可以是不同的数据类型(如数值、字符串或日期),并且具有列名和行索引。DataFrame 是 Pandas 的核心数据结构,提供了丰富的数据操作方法。
接下来我们将逐步介绍其用法。
一、导入 Pandas 库
简写为 pd。
import pandas as pd
二、使用 Series,创建一维数组
从 0 开始存储。

三、index 查看下标,values 查看下标的值
- index 的输出类似于 range: start 代表起始标签;stop 代表结束标签(不会到这个值,到 n-1 值);step 代表步长。
- values: 直接查看下标的值,记得是从 0 开始的值。

四、使用 index 指定标签
注意:可以看到数组中 1 的标签不是默认值 0 了,而是标签 5。如果利用想输出下标 0,这时候会报错,我们要使用到 "iloc" 和 "loc",请看第五节。

五、iloc 和 loc 的使用
解释:
- iloc 是原下标,也就是默认值,计算机的记忆。
- loc 是修改过的下标,我们把它叫作标签,标签是由我们自主给的,计算机并不会自己产生。
可以看到计算机的下标 1 的值是 2。 可以看到我们给的标签 1 的值是 5。

六、创建对象
- 这里的我们所理解的键其实就是数据的标签,大部分的人可能会理解为这里是一个字典或者一个数组,其实都不是,是一个一维数据。
- 什么是键?如果不知道,就需要回头学习 python 基础了。 键是字典的一个解释,前键后值,称为键值对,如下的:'键':值

- 修改数据 使用 loc,找标签'小张'让他的值等于 95,可以看到被修改了。

- 筛选数据 这里的 & 就是 python and 的意思。

七、两个数据相加、相减、相乘、相除
1、相加——add

可以看到需要链接 s1,如果没有 s1,那会导致数据相加错误,出现 NaN; 这个时候,我们应该使用 add: 在 s1 的基础上 add(s2, fill_value="如果出现没有值的情况,以 0 代替")

2、相减——sub

3、相乘——mul

4、相除——div

八、求最大值、最小值、求和值、平均值

九、describe() —— 数据分析方法


十、apply() —— 定义函数判断数据
apply() 对数据批量处理。

十一、DataFrame —— 创建二维数组

十二、修改标签
标签名要统一,否则会报错;但是可以缺少,但数据也要缺少,一一对应。

特别:标签会自动排序好。

十三、查看标签(行属性)

十四、查看列属性

十五、查看数据

十六、数据颠倒——行列调换

十七、提取数据(列)
- 查看班级数据

- 查看成绩数据

- 查看学号和成绩,这里我们需要再加一个【】,如果不加会报错

十八、提取数据(行)
注意:loc 和 iloc 的区别。

十九、切片操作
1、标签切片

2、下标切片
注意:3 是终止,并不会执行,如果想从红到丽,需要 [1:4]。

3、行列切片——标签

4、行列切片——下标

二十、筛选——判断、提取数据
- 单单判断数据,输出布尔值

- 判断完数据并提取数据,输出数据

二十一、查看前几行数据——数据量庞大可使用
注意:如果 head() 不输入任何的值,那他的默认值为 5,输出前 5 行数据。

二十二、drop 搭配 axis 用法
我们先导入要使用的数据。

添加考试 4 的数据。

drop:就是删除的意思。 axis:用来指定是行还是列。
可以看到删除了行的 002 和 004。

可以看到删除了列的考试 2 和考试 4。

二十三、两个数据相加
- student 的数据请看目录二十二。
- 先定义一个数据 bonus,让他们两个相加。
- 注意:运行一次相加一次;标签要一一对应,否则会导致数据错误。 相加完之后不会改变原数据,如果需要改变原数据,全部都是要重新赋值。

实现重新赋值,以考试 4 为例。

二十四、案例实操——求出平均值
mean(axis=1):求平均值每一行。 这里可能会导致理解冲突,上面解释 axis=0 代表行,axis=1 代表列,但是 mean(axis=1) 为什么代表的是行???请看下面的解释。

可以理解为如果被包含,则方向相反。 行对列操作。 列对行操作。



二十五、案例实操——筛选出第二大的数据
- loc[:,"考试 1":"考试 3"] 其实就是 loc["001":"006","考试 1":"考试 3"]。
- lambda x:定义匿名函数 x。
- np.sort(x):使用 numpy 库的 sort 方法,进行升序。
- np.sort(x)[-2]:升序完后提取倒数第二个值,也就是第二大的值,然后返回匿名函数 x。



