目录
4)dtype:获取每个元素的类型,Series 要求每个元素类型一致 (修改类型可使用 astype())
1)add()、sub()、div()、mul() 等运算函数
2)isnull() / notnull() 判断是否为空的函数
3)sum()、mean()、medium()、max()、min() 等统计函数
4.1.1.mean/median/sum/max/min/count
1.什么是 pandas
用于数据处理和数据分析的 Python 库(基于 numpy)。
2.导入 pandas
3.数据类型
Pandas 数据结构就像是低维数据的容器。比如,DataFrame 是 Series 的容器,Series 则是标量的容器。使用这种方式,可以在容器中以字典的形式插入或删除对象。
3.1.Series——一维结构
(元组、列表、字典)
3.1.1.Series 的定义
Series 是 pandas 中一维的、可变长度的、有序的、带标签的数组。【可理解为列表和字典的结合体】
Series 可以看成是一个带有标签的一维列表,可以通过标签进行索引。
轴标签统称为索引。
3.1.2.Series 可存储的数据类型
整数、浮点数、字符串、Python对象等。
⚠️除了 object 外,其他数据类型是 numpy 下的(和 python 原生数据类型是不一样的),如果使用需要导入 numpy 库(不导也没问题),再引用对应类型。
3.1.3.Series 的创建
- 列表等可迭代对象
- 字典对象
- 标量
⚠️如果在创建时,没有指定任何索引,则会使用自然0,1,2,3,...数字来当作索引;
⚠️如果在创建时,希望自定义索引,则可通过 index 参数来指定。
3.1.4.Series 的相关属性
1)index:获取 Series 的索引
2)values:获取 Series 的所有元素值
3)size:获取 Series 元素的个数
4)dtype:获取每个元素的类型,Series 要求每个元素类型一致 (修改类型可使用 astype())
3.1.5.Series 的相关操作
1)矢量化运算
(即 numpy 的广播机制)
矢量化运算是一种特殊的编程范式,它允许在没有循环的情况下对数据进行批量操作。这种方式可以显著提高代码的效率和性能。
根据索引进行对齐运算,当索引无法匹配时,运算结果为NaN(缺失值)。
- None(python的空):表示变量没有值。它是一个特殊的常量,表示空或无。
- NaN(pandas的空):是 Not a Number 的缩写,通常用于数学运算中表示一个未定义的或无法表示的值,用于表示浮点数数组中的缺失值。
- "''(字符串的空):是一个空字符串,它在字符串变量中表示没有任何字符,长度为0。
2)索引
a.标签索引和位置索引
b.整数列表与布尔列表索引
3)切片
4)追加、修改、删除元素
3.1.6.Series 的常用函数
1)add()、sub()、div()、mul() 等运算函数
add()
:加法运算。用于将Series
中的每个元素与指定的值或另一个Series
中的相应元素相加。sub()
:减法运算。用于将Series
中的每个元素与指定的值或另一个Series
中的相应元素相减。div()
:除法运算。用于将Series
中的每个元素与指定的值或另一个Series
中的相应元素相除。mul()
:乘法运算。用于将Series
中的每个元素与指定的值或另一个Series
中的相应元素相乘。
2)isnull() / notnull() 判断是否为空的函数
3)sum()、mean()、medium()、max()、min() 等统计函数
4)Series 下的 str 字符串矢量化操作
a.replace() 替换函数
b.count() 统计函数
c.contains() 判断是否包含函数
d.split() 分割函数
3.2.DataFrame——二维结构
(嵌套元组、嵌套列表、嵌套字典)
3.2.1.DataFrame 的定义
3.2.2.DataFrame 可存储的数据类型
3.2.3.DataFrame 的创建
3.2.4.数据的导入/导出
1)数据的导入
打开表头有误:
原始文件:
有合并单元格,修改语句:
skiprows=4 跳过4行
2)数据的导出
json 文件一般在缓存里(有的信息没必要保存到库里),可以从缓存里往出导。
3.2.5.DataFrame 基本数据描述
1)DataFrame 相关属性
a.类型属性与类型修改
b.标签属性与标签名修改
c.形状属性
2)DataFrame 相关函数
a.info()
b.head()
c.tail()
d.sample()
e.set_option()
方式1:
方式2:更推荐
3.2.6.DataFrame 的基本操作
1)列操作
a.获取列
b.增加、修改列
c.删除列
2)行操作
a.获取行
b.增加行
c.删除行
3)行列区域操作
先行后列用得多。
a.获得单个元素
b.获得多个元素
c.行列区域操作
d.利用行列区域操作为指定数据列赋值
4.pandas 的常用函数
4.1.统计与数学函数
4.1.1.mean/median/sum/max/min/count
4.1.2.corr
4.1.3.round/pow
作业: