在 Numpy 中沿轴 1 对多维数组应用累积
numpyserver side programmingprogramming
要累积将运算符应用于所有元素的结果,请使用 Python Numpy 中的 numpy.accumulate() 方法。对于多维数组,累积仅沿一个轴应用。我们将沿轴 1 应用。
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() 方法。对于多维数组,仅沿一个轴应用累积 −
添加累积:沿轴 1(列)累积 −
print("
添加累积...
",np.add.accumulate(arr, 1))
乘以累积 −
print("
乘以累积...
",np.multiply.accumulate(arr, 1))
示例
import numpy as np import numpy.ma as ma # 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() 方法 # 对于多维数组,累加仅沿一个轴应用 # 添加累加 # 沿轴 1(列)累加 # 添加累加 print("
添加累加...
",np.add.accumulate(arr, 1)) # 乘以累加 print("
乘以累积...
",np.multiply.accumulate(arr, 1))
输出
数组... [[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]] 我们的数组类型... float64 我们的数组维度... 2 添加累积... [[1. 1. 1.] [0. 1. 1.] [0. 0. 1.]] 乘以累积... [[1. 0. 0.] [0. 0. 0.] [0. 0. 0.]]