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