在 NumPy 中減少多維陣列
要減少多維陣列,請在 Python NumPy 中使用 **np.ufunc.reduce()** 方法。這裡,我們使用 **multiply.reduce()** 將其減少到元素的乘積。
**numpy.ufunc** 包含對整個陣列逐元素進行操作的函式。ufunc是用 C(為了速度)編寫的,並與 NumPy 的 ufunc 功能連結到 Python。
通用函式(簡稱 ufunc)是在逐元素基礎上對 ndarrays 進行操作的函式,支援陣列廣播、型別轉換和幾個其他標準功能。也就是說,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() 將其減少到元素的乘積 -
print("
Result (multiplication)...
",np.multiply.reduce(arr))
要減少多維陣列,請在 Python NumPy 中使用 np.ufunc.reduce() 方法。這裡,我們使用 add.reduce() 將其減少到元素的加和 -
print("
Result (addition)...
",np.add.reduce(arr))
示例
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 print("
Result (multiplication)...
",np.multiply.reduce(arr)) # 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 print("
Result (addition)...
",np.add.reduce(arr))
輸出
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 190 440] [ 756 1144 1610] [2160 2800 3536]] Result (addition)... [[27 30 33] [36 39 42] [45 48 51]]
廣告