使用下列方法對2D Numpy數組建立索引兩個單獨的索引列表並不像使用單一索引列表那麼簡單。在處理大型數組時,這可能具有挑戰性,因為它需要廣播和重塑數組才能實現所需的索引選擇。
Numpy 中的np.ix_ 函數可用於建立索引數組的元組,這些索引數組可以相互廣播以實現所需的索引模式。這種方法可以保持可讀性並促進程式碼優化。
要使用np.ix_ 執行索引,請按照以下步驟操作:
以下程式碼示範如何使用np.ix_ 進行基於索引的選擇:
<code class="python">import numpy as np # Create indices row_indices = [4, 2, 18, 16, 7, 19, 4] col_indices = [1, 2] # Create broadcasting arrays index_tuples = np.ix_(row_indices, col_indices) # Perform indexing x_indexed = x[index_tuples]</code>
>>> x_indexed array([[76, 56], [70, 47], [46, 95], [76, 56], [92, 46]])
替代語法:
使用np.ix_ 的替代語法是使用: 運算子指定沿軸的所有索引,除非另有指定。
廣播:
需要注意的是,廣播是沿著輸入陣列的軸發生的。因此,沿每個軸的索引數組的大小應與輸入數組的相應維度相符。
最佳化:
使用 np.ix_ 和廣播進行索引可以提供顯著的效能優勢與迭代索引或使用布林遮罩相比。這在處理大型數組時特別有利。
以上是如何使用「np.ix_」為具有兩個索引清單的 2D NumPy 陣列建立索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!