在 Numpy 中沿轴对多维数组应用累加
要累加对所有元素应用运算符的结果,请在 Python Numpy 中使用 **numpy.accumulate()** 方法。对于多维数组,累加仅沿一个轴应用。
**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
import numpy.ma as ma
# 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 array
print("
Our Array type...
", arr.dtype)
# Get the dimensions of the 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.]]
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP