NumPy中沿轴1约简多维数组
要约简多维数组,请使用Python NumPy中的**np.ufunc.reduce()**方法。这里,我们使用**add.reduce()**将其约简为元素的加法。轴使用“axis”参数设置。沿其执行约简的轴。
**numpy.ufunc**具有逐元素操作整个数组的函数。ufunc是用C语言(为了速度)编写的,并与NumPy的ufunc工具链接到Python。
通用函数(简称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 (multiplication)...
",np.multiply.reduce(arr, axis = 1))
要约简多维数组,请使用Python NumPy中的np.ufunc.reduce()方法。这里,我们使用add.reduce()将其约简为元素的加法。轴使用“axis”参数设置。沿其执行约简的轴:
print("
Result (addition)...
",np.add.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 elements # The axis is set using the "axis" parameter # Axis or axes along which a reduction is performed print("
Result (multiplication)...
",np.multiply.reduce(arr, axis = 1)) # To reduce a multi-dimensional array, use the np.ufunc.reduce() method in Python Numpy # Here, we have used add.reduce() to reduce it to the addition of elements # The axis is set using the "axis" parameter # Axis or axes along which a reduction is performed print("
Result (addition)...
",np.add.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 (multiplication)... [[ 0 28 80] [ 1620 2080 2618] [ 9072 10450 11960]] Result (addition)... [[ 9 12 15] [36 39 42] [63 66 69]]
广告