Numpy中多维数组的降维以及沿负轴相加
要对多维数组进行降维,可以使用Python Numpy中的**np.ufunc.reduce()**方法。这里我们使用**multiply.reduce()**将其降维为元素的乘积。“**axis**”参数用于设置轴。轴是执行降维的轴。负轴从最后一个轴到第一个轴进行计数。
通用函数(简称ufunc)是在逐元素的基础上对ndarray进行运算的函数,支持数组广播、类型转换以及其他一些标准特性。也就是说,ufunc是对一个函数的“矢量化”封装,该函数接受固定数量的特定输入并产生固定数量的特定输出。
步骤
首先,导入所需的库:
import numpy as np
创建一个多维数组:
arr = np.arange(27).reshape((3,3,3))
显示数组:
print("Array...
", arr)获取数组的类型:
print("
Our Array type...
", arr.dtype)
获取数组的维度:
print("
Our Array Dimensions...
",arr.ndim)要对多维数组进行降维,可以使用Python Numpy中的np.ufunc.reduce()方法。这里我们使用multiply.reduce()将其降维为元素的乘积。“axis”参数用于设置轴。轴是执行降维的轴。负轴从最后一个轴到第一个轴进行计数:
print("
Result along specific axis (multiplication)...
",np.multiply.reduce(arr, axis = -1))
示例
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 multi-dimensional array
arr = np.arange(27).reshape((3,3,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 reduce a multi-dimensional array, use the np.ufunc.reduce() method in Python Numpy
# Here, we have used multiply.reduce() to reduce it to the multiplication of elements
# The axis is set using the "axis" parameter
# Axis or axes along which a reduction is performed
# The negative axis counts from the last to the first axis
print("
Result along specific axis (multiplication)...
",np.multiply.reduce(arr, axis = -1))输出
Array... [[[ 0 1 2] [ 3 4 5] [ 6 7 8]] [[ 9 10 11] [12 13 14] [15 16 17]] [[18 19 20] [21 22 23] [24 25 26]]] Our Array type... int64 Our Array Dimensions... 3 Result along specific axis (multiplication)... [[ 0 60 336] [ 990 2184 4080] [ 6840 10626 15600]]
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP