温馨提示:本文最后更新于
2025-06-09 14:24:23
,某些文章具有时效性,若有错误或已失效,请在下方留言。NumPy
用于处理多维数组或矩阵。具体的使用步骤
- 引入NumPy库
- 矩阵基本运算
基本使用
import numpy as np
# 创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])
# 打印数组
print("一维数组:", arr1)
# 创建二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print("二维数组:\n", arr2)
# 创建三维数组
arr3 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print("三维数组:\n", arr3)
# 创建一个3行4列的全零数组
arr_zeros = np.zeros((3, 4))
print("全零数组:\n", arr_zeros)
# 创建一个3行4列的全一数组
arr_ones = np.ones((3, 4))
print("全一数组:\n", arr_ones)
# 创建一个3行4列的单位矩阵
arr_eye = np.eye(3, 4)
print("单位矩阵:\n", arr_eye)
# 使用numpy 进行矩阵运算
# 矩阵加法
arr_add = arr2 + arr2
print("矩阵加法:\n", arr_add)
# 矩阵减法
arr_sub = arr2 - arr2
print("矩阵减法:\n", arr_sub)
# 矩阵转置
arr_transpose = arr2.T
print("矩阵转置:\n", arr_transpose)
# 矩阵乘法
arr_mul = arr2 @ arr2.T # 矩阵乘法
print("矩阵乘法:\n", arr_mul)
# 矩阵的形状
print("二维数组的形状:", arr2.shape)
# 矩阵的大小
print("二维数组的大小:", arr2.size)
# 矩阵的维度
print("二维数组的维度:", arr2.ndim)
# 矩阵的元素类型
print("二维数组的元素类型:", arr2.dtype)
# 矩阵的最大值和最小值
print("二维数组的最大值:", arr2.max())
print("二维数组的最小值:", arr2.min())
# 矩阵的平均值
print("二维数组的平均值:", arr2.mean())
# 矩阵的标准差
print("二维数组的标准差:", arr2.std())
# 矩阵的求和
print("二维数组的求和:", arr2.sum())
# 矩阵的累积和
print("二维数组的累积和:", arr2.cumsum())
# 矩阵的索引和切片
print("二维数组的第一个元素:", arr2[0, 0])
广播
广播的前提
- 两不不同形状的矩阵做每个元素的加、减、乘、除时
- 只有两个矩阵兼容的情况下才可以广播
广播的规则
- 从右向左扫描两个矩阵每个维度的值是否一致
- 如果一致或其中一个为1,则说是两者是兼容的
- 扫描时,如果维度不同,则小的一方在该纬度上补1
- 如果两者兼容,则拷贝以前的数据进行扩展
import numpy as np
k = np.array([[1, 2], [3, 4], [5, 6]])
l = np.array([10, 20])
print(k + l) # 广播机制,l 会被自动扩展为 [[10, 20], [10, 20], [10, 20]]
# 输出结果为 [[11 22]
# [13 24]
# [15 26]]
© 版权声明
THE END
暂无评论内容