當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy indices用法及代碼示例


本文簡要介紹 python 語言中 numpy.indices 的用法。

用法:

numpy.indices(dimensions, dtype=<class 'int'>, sparse=False)

返回一個表示網格索引的數組。

計算一個數組,其中子數組包含索引值 0, 1, ... 僅沿相應軸變化。

參數

dimensions 整數序列

網格的形狀。

dtype dtype,可選

結果的數據類型。

sparse 布爾值,可選

返回網格的稀疏表示而不是密集表示。默認為假。

返回

grid 一個 ndarray 或 ndarrays 元組
如果稀疏為假:

返回一個網格索引數組,grid.shape = (len(dimensions),) + tuple(dimensions).

如果稀疏為真:

返回一個數組元組,其中grid[i].shape = (1, ..., 1, dimensions[i], 1, ..., 1)在第 i 個位置具有維度 [i]

注意

密集情況下的輸出形狀是通過在維度元組前麵添加維度數來獲得的,即如果方麵是一個元組(r0, ..., rN-1)長度N,輸出形狀為(N, r0, ..., rN-1).

子數組grid[k] 包含沿k-th 軸的N-D 索引數組。明確地:

grid[k, i0, i1, ..., iN-1] = ik

例子

>>> grid = np.indices((2, 3))
>>> grid.shape
(2, 2, 3)
>>> grid[0]        # row indices
array([[0, 0, 0],
       [1, 1, 1]])
>>> grid[1]        # column indices
array([[0, 1, 2],
       [0, 1, 2]])

索引可以用作數組的索引。

>>> x = np.arange(20).reshape(5, 4)
>>> row, col = np.indices((2, 3))
>>> x[row, col]
array([[0, 1, 2],
       [4, 5, 6]])

請注意,在上麵的示例中,使用 x[:2, :3] 直接提取所需元素會更直接。

如果 sparse 設置為 true,則網格將以稀疏表示形式返回。

>>> i, j = np.indices((2, 3), sparse=True)
>>> i.shape
(2, 1)
>>> j.shape
(1, 3)
>>> i        # row indices
array([[0],
       [1]])
>>> j        # column indices
array([[0, 1, 2]])

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.indices。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。