Spec-Zone.ru › NumPy 1.13

numpy.triu_indices

numpy.triu_indices(n, k=0, m=None) [source]

Возвращает индексы для верхней треугольной части массива (n, m).

Параметры:

n : int

Размер массивов, для которых возвращаемые индексы будут допустимы.

k : int, необязательно

Смещение диагонали (см. triu для подробностей).

m : int, необязательно

Новое в версии 1.9.0.

Размер столбцов массивов, для которых возвращаемые массивы будут допустимы. По умолчанию m принимается равным n.

Возвращает:

inds : кортеж, форма (2) из nd-массивов, форма (n)

Индексы для треугольника. Возвращаемый кортеж содержит два массива, каждый из которых содержит индексы по одному измерению массива. Может быть использован для срезки ndarray формы (n, n).

См. также

tril_indices
аналогичная функция, для нижней треугольной части.
mask_indices
общая функция, принимающая произвольную функцию маски.

triu, tril

Примечания

Новое в версии 1.4.0.

Примеры

Вычислите два разных набора индексов для доступа к массивам 4x4, один для верхней треугольной части, начиная с главной диагонали, а другой — начиная с двух диагоналей правее:

>>> iu1 = np.triu_indices(4)
>>> iu2 = np.triu_indices(4, 2)

Вот как они могут быть использованы с примером массива:

>>> a = np.arange(16).reshape(4, 4)
>>> a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])

Оба для индексирования:

>>> a[iu1]
array([ 0,  1,  2,  3,  5,  6,  7, 10, 11, 15])

И для присваивания значений:

>>> a[iu1] = -1
>>> a
array([[-1, -1, -1, -1],
       [ 4, -1, -1, -1],
       [ 8,  9, -1, -1],
       [12, 13, 14, -1]])

Эти индексы охватывают только небольшую часть всего массива (две диагонали справа от главной):

>>> a[iu2] = -10
>>> a
array([[ -1,  -1, -10, -10],
       [  4,  -1,  -1, -10],
       [  8,   9,  -1,  -1],
       [ 12,  13,  14,  -1]])

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.triu_indices.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API