Numpy

wang 发布于 2024-11-11 8357 次阅读


常用API

numpy 对象的各种创建方式

方法语法示例说明
从列表创建arr1 = np.array([1, 2, 3])
a = [1,2,3,4]; np.array(a)
从类似列表的序列
(如列表、元组)创建数组
使用 arangearr = np.arange(15).reshape(3, 5)np.arange(15)
生成一个包含15个元素(0到14)的一维数组,

然后通过 reshape 方法
重塑为3行5列的二维数组
创建全0数组arr_zero = np.zeros((3, 5))创建一个3行5列的全0数组
注意:
形状参数是一个元组 (3, 5)
创建全1数组arr_ones = np.ones((3, 5))创建一个3行5列的全1数组
注意:
形状参数是一个元组 (3, 5)
创建随机数组 (float)arr = np.random.rand(3, 5)
arr = np.random.uniform(0, 1, (3, 5))
创建一个3行5列的数组,
其中的元素是来自 [0.0, 1.0)
区间的均匀分布的随机浮点数
创建等比数列arr = np.logspace(1, 3)
arr = np.logspace(1, 3, 5, base=2)
默认创建50个元素
在10^1 到 10^3 之间,
生成一个等比数列
------
创建一个包含5个元素的等比数列。
底数为2,范围从2^1 到 2^3
创建等差数列arr = np.linspace(0, 10, 5)
arr = np.linspace(0, 10, 5, endpoint=False)
创建一个包含5个元素的等差数列。范围从0到10
默认 endpoint=True,
即包含终点10
------
创建一个包含5个元素的等差数列
范围从0到10
因为 endpoint=False,所以不包含终点10

基本函数

方法说明
abs()绝对值
ceil()向上取整
floor()向下取整
rint()四舍五入
multiply()乘法
divide()除法
where()三元运算符,
例如 np.where(arr > 0, 1, 0)
若元素大于0则为1,否则为0

统计函数

方法说明
mean()计算数组的算术平均值
sum()计算数组所有元素的和
max()返回数组中的最大值
min()返回数组中的最小值
std()计算数组的标准差
var()计算数组的方差
argmax()返回数组展平后最大值所在的索引(下标)
argmin()返回数组展平后最小值所在的索引(下标)
cumsum()计算数组元素的累积和
(从第一个元素开始到当前元素的累加结果)
cumprod()计算数组元素的累积乘积
(从第一个元素开始到当前元素的累积结果)
unique()返回数组中的唯一值(去重后的结果)
需要重新赋值给一个对象
sort()对数组进行排序。默认沿最后一个轴 (axis=-1)
进行升序排序
需要重新赋值给一个对象

常用属性

import numpy as np
arr = np.arange(15).reshape(3,5) #创建15个数 存入到一个3行5列的arr中
print(arr.ndim)#几维数组
print(arr.shape)#打印数组的维度
print(arr.size)#元素的个数
print(arr.dtype)#int32 数据的类型
print(arr.itemsize)#数组每个字节所占的大小
print(type(arr))#数组的类型numpy.ndarray
new_arr = arr.astype(np.int64) #改变数组中每个元素的数据的类型

矩阵乘法

1*9 + 2*6 + 3*3 1行 * 1列

1*8 + 2*5 + 3*2 1行 * 2列

4*9 + 5*6 + 6*3 2行 * 1列

4*8 + 5*5 + 6*2 2行 * 2列

代码示例

arr1 = np.array([1,2,3],[4,5,6])
arr2 = np.array([9,8],[6,5],[3,2])
arr3 = arr1.dot(arr2)
arr3 = np.dot(arr1,arr2)
arr3 = arr1 @ arr2
print(arr3)

一名热爱海贼的AI开发者
最后更新于 2025-12-13