Skip to content

Numpy

Numpy 是一个科学计算基础库,提供大量科学计算相关功能,比如:数据统计、矩阵运算、随机数生成、卷积运算等。其核心类型为ndarray(多维数组),可以理解为矩阵。

环境搭建

  1. 安装numpy
shell
pip install numpy
pip install numpy==1.19.5 # 安装旧版本
  1. 测试numpy版本
python
import numpy as np
print(np.__version__)

使用

构造数组

np.random.seed(0) # 设置随机数种子,保证每次生成的随机数相同。主要是使用时保障因素影响

函数说明
np.arange()创建数组
np.arange(1, 10, 2) 创建1-9的奇数,步长为2
np.array()创建数组
np.empty()创建空数组
开辟内存空间之前有值,会拿过来直接使用
np.empty(2,dtype=int)
np.zeros()创建全0数组
np.zeros(2,dtype=int)
np.linspace()创建等差数列
相当于创建一维数组
np.linspace(0, 10, 5) 生成0-10的5个数
np.logspace()创建等比数列
相当于创建一维数组
np.logspace(0, 10, 5)
np.zeros_like()创建全0数组,像某个数组一样几行几列
np.zeros_like(np.array([1,2,3]))
np.flatten()将多维数组拉平为一维数组
np.ravel()将数组拉平为一维数组
np.random.random()随机数
size=1 生成一个随机数
size=2 生成两个随机数
size=(2,3) 生成二维数组 2行3列
np.random.randint()随机整数
size=1 生成一个随机数
size=2 生成两个随机数
size=(2,3) 生成二维数组 2行3列
np.random.randn()随机正态分布数
(1) 生成一个随机数
(2) 生成两个随机数
(2,3) 生成二维数组 2行3列
(2,3,4) 生成三维数组 2个3列4列
np.random.normal()随机正态分布数
np.random.shuffle()打乱数组
np.reshape()修改数组
np.reshape((2, 3)) 将数据改为二维数组 2行3列
np.copy()复制数组
创建不同的内存空间,防止修改源数组
np.hstack()水平拼接数组
行数相同,列数合并
np.vstack()垂直拼接数组
列数相同,行数合并
np.concatenate()拼接数组
np.concatenate([a,b],axis=0) 垂直拼接,相当于np.vstack()
np.concatenate([a,b],axis=1) 水平拼接,相当于np.hstack()
np.split()分割数组 hsplit(水平切分)/vsplit(垂直切分)
np.split(arr,3) 将数组均等分割成3份
np.split(arr,3,axis=0) 将数组均等分割成3份,按照行数进行分割
np.split(arr,3,axis=1) 将数组均等分割成3份,按照列数进行分割
np.tranpose()转置数组
np.transpose(arr)
python
import numpy as np
arr = np.arange(1, 4)   #numpy.ndarray 数据类型  start=1 stop=4(不包含) step=1 步长
arr.shape           # (3,) 一元数组    3个元素
arr.shapep[0]       # 3   获取元素
arr.ndim            # 轴的数量或者维度数量
arr.flags          # 对象的内存信息

# array数组
np.array([1, 2, 3],[4, 5, 6])      ndmin=2 # 二维数组   dtype=float # 数据类型

# split
np.split(arr,[3,5])  按照索引3、5进行分割,最后形成数据索引(0,3],(3,5],(5,]

算术运算

函数说明
np.add()数组相加,相同位置相加
np.add(a,b,out=y) 输出结果到y
a+b
np.subtract()数组相减
np.subtract(a,b)
np.multiply()数组相乘
np.multiply(a,b)
np.divide()数组相除
np.divide(a,b)
np.sin()数组正弦
np.sin(a)
np.cos()数组余弦
np.cos(a)
np.tan()数组正切
np.tan(a)
np.pi属性数组π
np.pi
np.around()四舍五入
np.around(a)
np.around(4.5) = 4
np.floor()向下取整
np.floor(a)
np.ceil()向上取整
np.ceil(a)
python
import numpy as np
a = np.arange(9).reshape(3, 3)
# 输出结果
array(
[[0,1,2],
[3,4,5],
[6,7,8]]
)
c = np.array([2,3,4])
a+c   # 每行位置相加  广播机制
# 输出结果
array(
[[2,4,6],
[5,7,9],
[8,10,12]]
)

聚合函数

函数说明
np.sum()求和
np.sum(a)
np.prod()乘积
np.mean()平均值
np.std()标准差
np.var()方差
np.median()中位数
np.power()
np.power(a,2) 平方
np.sqrt()平方根
np.min()最小值
np.max()最大值
np.argmin()最小值下标
np.argmax()最大值下标
np.inf无穷大
np.exp()指数
np.log()对数

上次更新于: