Numpy
一、Numpy概述¶
1、Numpy¶
Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器,
Numpy
- num - numerical 数值化的
- py - python
ndarray
- n - 任意个
- d - dimension 维度
- array - 数组
2、ndarray优势¶
ndarray比原生list运行效率高
存储风格
- ndarray - 相同类型 - 通用性不强
- list - 不同类型 - 通用性很强
并行化运算
ndarray支持并行化运算(向量化运算)
底层语言
C语言,解除了GIL(全局解释器索)
3、ndarray属性¶
shape:数组维度的元组
ndim:数组维度
size:数组中的元素数量
itemsize:一个数组元素的长度
dtype:数组元素的类型
在创建ndarray的时候,如果没有指定类型
默认:整数 int64、浮点数 float64
二、基本操作¶
1、模块导入¶
2、生成数组的方法¶
1)生成0和1¶
2)从现有数组中生成¶
3)生成固定范围的数组¶
4)生成随机数组¶
均匀分布:每组的可能性相等
正态分布:μ、σ
3、数组的索引、切片¶
4、形状修改¶
ndarray.reshape(shape) # 返回新的ndarray,原始数据没有改变
ndarray.resize(shape) # 没有返回值,对原始的ndarray进行了修改
ndarray.T # 转置 行变成列,列变成行
5、类型修改¶
6、序列化¶
7、数组的去重¶
三、ndarray运算¶
1、逻辑运算¶
2、统计运算¶
统计指标函数
min, max, mean, median, var, std
返回最大值、最小值所在位置
3、数组与数的运算¶
4、数组与数组的运算¶
广播机制
执行 broadcast 的前提在于,两个 ndarray 执行的是 element-wise 的运算,Broadcast机制的功能是为了方便不同形状的ndarray(numpy库的核心数据结构) 进行数学运算。
- 维度相等
- shape(其中相对应的一个地方为1)
5、矩阵运算¶
1)存储矩阵¶
- ndarray 二维数组
- matrix 数据结构
2)矩阵乘法¶
形状要求:(m, n) * (n, l) = (m, l)
四、IO操作¶
1、Numpy读取¶
2、缺失值的处理¶
1、直接删除含有缺失值的样本
2、替换/插补:按列求平均,用平均值进行填补
不如
pandas
好用!!