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) массивов, форма (
n)Индексы для треугольника. Возвращаемый кортеж содержит два массива, каждый из которых содержит индексы вдоль одного измерения массива. Может использоваться для среза ndarray формы (
n,n).См. также
tril_indices- аналогичная функция для нижнего треугольника.
mask_indices- общая функция, принимающая произвольную функцию маскирования.
Примечания
Добавлено в версии 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–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.triu_indices.html