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]]
广告