前言
Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。
Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。
NumPy提供了一个N维数组类型ndarray,它描述了相同类型的“items”的集合。
机器学习的最大特点就是大量的数据运算,那么如果没有一个快速的解决方案,那可能现在python也在机器学习领域达不到好的效果。
Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,所以,其效率远高于纯Python代码。
numpy内置了并行运算功能,当系统有多个核心时,做某种计算时,numpy会自动做并行计算.
引入库
import numpy as np
import warnings
warnings.filterwarnings('ignore')
初始数组
类比Excel表格,一维数组就相当于一行,二位数组就相当于一个表格,三维数组就是一个工作簿中的多个表,以此类推,我们常用的是一维数组、二维数组,三维数组用的比较少
- 一维数组
arr = np.array([1,2,3,4])
arr
结果:
- 二维数组
score = np.array(
[[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]]
)
结果:
属性
- 形状
score.shape
# 结果
(8, 5)
# 可以理解为8行5列的表
- 维度
score.ndim
# 结果
2
# 表示这个矩阵是二维的
- 元素个数
score.size
# 结果
40
# 一共有40个元素
- 类型
score.dtype
# 结果
dtype('int32')
# 元素属性是 int32 类型的
创建数组及基本操作
- 生成数组
- 全是0的数组
np.zeros(shape=(10,5),dtype=np.int64)
**结果: **
2. 全是1的数组
np.ones(shape=(10,5),dtype=np.int64)
结果: