一、NumPy是什么?
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。各种其他的库,如Pandas、Matplotlib和Scikit-learn,都建立在这个令人惊叹的库之上。
数组是元素/值的集合,可以有一个或多个维度。一维数组称为向量,二维数组称为矩阵。
NumPy数组称为ndarray或N维数组,它们存储相同类型和大小的元素。它以其高性能而闻名,并在数组规模不断扩大时提供高效的存储和数据操作。
(1) 下载Anaconda时,NumPy会预先安装。
Anaconda | Anaconda Distribution
(2) 单独安装NumPy,只需在你的终端上键入以下命令:
pip install numpy
需要导入库:
import numpy as np
np实际上是数据科学界使用的NumPy的缩写
二、Numpy Ndarray 对象
nd - N-dimension n个维度
array - 数组
说明了numpy是处理任意维度数据
ndarray 对象是用于存放同类型元素的多维数组。
ndarray 中的每个元素在内存中都有相同存储大小的区域。
创建一个 ndarray 只需调用 NumPy 的 array 函数:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
darray的优势
1、比python_list的效率高,且数据量越大,它们效率相差越大。
2、ndarray不受GIL的限制。GIL是全局解释器锁。可以多线程工作,因此效率非常高
pyhton_list和ndarray的效率对比
darray的缺点
只能存储一种数据类型的数据,因此通用性较差,而列表可以存储非常多的类型的数据,因此python_list的通用性比较好。
三、Numpy创建一维数组
- 传入列表方式
- 传入range生成序列
- 使用numpy自带的np.arange()生成数组
- 使用np.linspace()
四、Numpy创建二维数组
- 列表嵌套转换
- 组合嵌套
3.其他( zeros(全0), ones(全1), empty(空))
五、ndarray基本属性
六、二维数组运算
七、Numpy常见的数据类型
八、ndarray的形状
一维:(4, ) 二维:(2, 3) 三维:(4, 3, 2)
九、Numpy索引和切片
十、Numpy随机数组np.random
-
均匀分布
np.random.rand(10, 10)
创建指定形状(示例为10行10列)的数组(范围在0至1之间)np.random.uniform(0, 10)
创建指定范围内的一个数np.random.randint(0, 10)
创建指定范围内的一个整数
-
正态分布
给定均值/标准差/维度的正态分布
np.random.normal(1.75, 0.1, (2, 3))
标准正态分布—-standard normal distribution
标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)