NumPy 的'np.newaxis' 是什麼以及如何使用它
理解'np.newaxis'
NumPy 的“np.newaxis”,也稱為“None”,是一個偽索引,用於臨時向數組添加軸。使用一次時,它將數組的維度增加一。例如,1D 數組變成 2D 數組,2D 數組變成 3D 數組,以此類推。
使用'np.newaxis' 的場景
場景1:從一維陣列建立行/列向量
'np.newaxis' 可用於將一維數組明確轉換為行向量(透過沿第一維插入軸)或列向量(透過沿第二維插入軸)。
場景 2:啟用 NumPy 廣播
'np.newaxis' 在執行涉及以下操作時非常有用NumPy 廣播。例如,考慮新增兩個形狀為「(5,)」和「(3,)」的陣列。 NumPy 會因形狀不相容而引發錯誤。透過使用'np.newaxis'增加一個陣列的維度,可以啟用廣播來執行該操作。
場景3:將陣列提升到更高的維度
'np.newaxis' 可以多次使用以將陣列提升到更高的維度,這對於高階數組(張量)可能是必需的。
用法範例
To使用'np.newaxis',將其插入到切片表達式中。例如:
# Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]
啟用廣播:
# Add a 1D array to a 2D array
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])
x1_new = x1[:, np.newaxis] # Insert axis for broadcasting
result = x1_new x2
替代方案: 'np.expand_dims'
'np.expand_dims' 是'np.newaxis' 的替代方案,提供直覺的「軸” kwarg 指定新軸的插入點。
附加說明
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3