在 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.]]

相关文章