在 Numpy 中沿轴 0 对多维数组应用累加


要累加对所有元素应用运算符的结果,请在 Python Numpy 中使用 **numpy.accumulate()** 方法。对于多维数组,累加仅沿一个轴应用。我们将沿轴 0 应用。

**numpy.ufunc** 具有逐元素对整个数组进行运算的功能。ufunc是用C语言编写的(为了速度),并通过NumPy的ufunc功能链接到Python。通用函数(或简称ufunc)是在元素级对ndarray进行运算的函数,支持数组广播、类型转换和一些其他标准功能。也就是说,ufunc是“矢量化”的函数包装器,它接受固定数量的特定输入并产生固定数量的特定输出。

步骤

首先,导入所需的库 -

import numpy as np

创建一个二维数组。numpy.eye() 返回一个二维数组,其中对角线为 1,其他位置为 0 -

arr = np.eye(3)

显示数组 -

print("Array...
", arr)

获取掩码数组的类型 -

print("
Our Array type...
", arr.dtype)

获取掩码数组的维度 -

print("
Our Array Dimensions...
",arr.ndim)

要累加对所有元素应用运算符的结果,请在 Python Numpy 中使用 numpy.accumulate() 方法。对于多维数组,累加仅沿一个轴应用 -

添加累加:沿轴 0(行)累加 -

print("
Add accumulate...
",np.add.accumulate(arr, 0))

乘法累加 -

print("
Multiply accumulate...
",np.multiply.accumulate(arr, 0))

示例

import numpy as np

# The numpy.ufunc has functions that operate element by element on whole arrays.
# ufuncs are written in C (for speed) and linked into Python with NumPy's ufunc facility

# Create a 2d array
# The numpy.eye() returns a 2-D array with 1's as the diagonal and 0's elsewhere.
arr = np.eye(3)

# Display the array
print("Array...
", arr) # Get the type of the masked array print("
Our Array type...
", arr.dtype) # Get the dimensions of the Masked Array print("
Our Array Dimensions...
",arr.ndim) # To Accumulate the result of applying the operator to all elements, use the numpy.accumulate() method in Python Numpy # For a multi-dimensional array, accumulate is applied along only one axis # Add accumulate # Accumulate along axis 0 (rows) # Add accumulate print("
Add accumulate...
",np.add.accumulate(arr, 0)) # Multiply accumulate print("
Multiply accumulate...
",np.multiply.accumulate(arr, 0))

输出

Array...
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]

Our Array type...
float64

Our Array Dimensions...
2

Add accumulate...
[[1. 0. 0.]
[1. 1. 0.]
[1. 1. 1.]]

Multiply accumulate...
[[1. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]

更新于: 2022年2月7日

146 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告