在 Numpy 中沿轴 0 对多维数组应用累积
numpyserver side programmingprogramming更新于 2025/9/21 15:28:00
要累积将运算符应用于所有元素的结果,请使用 Python Numpy 中的 numpy.accumulate() 方法。对于多维数组,累积仅沿一个轴应用。我们将沿轴 0 应用。
numpy.ufunc 具有对整个数组逐个元素进行操作的函数。ufuncs 用 C 编写(为了速度),并使用 NumPy 的 ufunc 工具链接到 Python。通用函数(或简称为 ufunc)是一种以逐个元素的方式对 ndarrays 进行操作的函数,支持数组广播、类型转换和其他几个标准功能。也就是说,ufunc 是一个"矢量化"包装一个函数,该函数接受固定数量的特定输入并产生固定数量的特定输出。
步骤
首先,导入所需的库 −
import numpy as np
创建一个二维数组。numpy.eye() 返回一个二维数组,其中 1 为对角线,其他位置为 0 −
arr = np.eye(3)
显示数组 −
print("数组...
", arr)
获取掩码数组的类型 −
print("
我们的数组类型...
", arr.dtype)
获取掩码数组的维度 −
print("
我们的数组维度...
",arr.ndim)
要累积将运算符应用于所有元素的结果,请使用 Python Numpy 中的 numpy.accumulate() 方法。对于多维数组,仅沿一个轴应用累积 −
添加累积:沿轴 0(行)累积 −
print("
添加累积...
",np.add.accumulate(arr, 0))
乘以累积 −
print("
乘以累积...
",np.multiply.accumulate(arr, 0))
示例
import numpy as np
# numpy.ufunc 具有对整个数组逐个元素进行操作的函数。
# ufunc 用 C 编写(为了提高速度),并通过 NumPy 的 ufunc 功能链接到 Python
# 创建 2d 数组
# numpy.eye() 返回一个 2-D 数组,其中 1 为对角线,其他位置为 0。
arr = np.eye(3)
# 显示数组
print("数组...
", arr)
# 获取掩码数组的类型
print("
我们的数组类型...
", arr.dtype)
# 获取掩码数组的维度
print("
我们的数组维度...
",arr.ndim)
# 要累积将运算符应用于所有元素的结果,请使用 Python Numpy 中的 numpy.accumulate() 方法
# 对于多维数组,仅沿一个轴应用累积
# 添加累积
# 沿轴 0(行)累积
# 添加累积
print("
添加累积...
",np.add.accumulate(arr, 0))
# 乘以累积
print("
乘以累积...
",np.multiply.accumulate(arr, 0))
输出
数组... [[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]] 我们的数组类型... float64 我们的数组维度... 2 添加累积... [[1. 0. 0.] [1. 1. 0.] [1. 1. 1.]] 乘以累积... [[1. 0. 0.] [0. 0. 0.] [0. 0. 0.]]

