scipy.sparse.

dia_array#

класс scipy.sparse.dia_array(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[источник]#

Разреженный массив с диагональным хранением (DIAgonal storage).

Это может быть создано несколькими способами:
dia_array(D)

где D — это 2-D ndarray

dia_array(S)

с другой разреженной матрицей или массивом S (эквивалентно S.todia())

dia_array((M, N), [dtype])

для создания пустого массива с формой (M, N), type необязателен, по умолчанию dtype='d'.

dia_array((data, offsets), shape=(M, N))

где data[k,:] хранит диагональные элементы для диагональной offsets[k] (См. пример ниже)

Атрибуты:
dtypedtype

Тип данных массива

shape2-кортеж

Форма массива

ndimint

Количество измерений (всегда равно 2)

nnz

Количество хранимых значений, включая явные нули.

size

Количество сохранённых значений.

данные

Массив данных формата DIA

смещения

Массив смещений формата DIA массива

T

Транспонирование.

Методы

__len__()

arcsin()

Поэлементный арксинус.

arcsinh()

Поэлементный arcsinh.

arctan()

Поэлементный арктангенс.

arctanh()

Поэлементный арктангенс гиперболический.

asformat(format[, copy])

Вернуть этот массив/матрицу в переданном формате.

astype(dtype[, casting, copy])

Привести элементы массива/матрицы к указанному типу.

ceil()

Поэлементное округление вверх.

conj([copy])

Поэлементное комплексное сопряжение.

conjugate([copy])

Поэлементное комплексное сопряжение.

copy()

Возвращает копию этого массива/матрицы.

count_nonzero([axis])

Количество ненулевых элементов, эквивалентно

deg2rad()

Поэлементное преобразование градусов в радианы.

diagonal([k])

Возвращает k-ю диагональ массива/матрицы.

dot(other)

Обычное скалярное произведение

expm1()

Поэлементный expm1.

floor()

Поэлементное округление вниз.

log1p()

Поэлементный log1p.

maximum(other)

Поэлементный максимум между этим и другим массивом/матрицей.

mean([axis, dtype, out])

Вычисляет среднее арифметическое вдоль указанной оси.

minimum(other)

Поэлементный минимум между этим и другим массивом/матрицей.

multiply(other)

Поэлементное умножение на другой массив/матрицу.

nonzero()

Ненулевые индексы массива/матрицы.

power(n[, dtype])

Эта функция выполняет поэлементное возведение в степень.

rad2deg()

Поэлементное преобразование радиан в градусы.

reshape(self, shape[, order, copy])

Придаёт новую форму разреженному массиву/матрице без изменения данных.

resize(*shape)

Изменить размер массива/матрицы на месте до размеров, заданных shape

rint()

Поэлементный rint.

setdiag(values[, k])

Установить диагональные или внедиагональные элементы массива/матрицы.

sign()

Поэлементный знак.

sin()

Поэлементный синус.

sinh()

Поэлементный sinh.

sqrt()

Поэлементное вычисление квадратного корня.

sum([axis, dtype, out])

Суммировать элементы массива/матрицы по заданной оси.

tan()

Поэлементный тангенс.

tanh()

Поэлементный tanh.

toarray([order, out])

Возвращает плотное представление ndarray для этого разреженного массива/матрицы.

tobsr([blocksize, copy])

Преобразовать этот массив/матрицу в формат Block Sparse Row.

tocoo([copy])

Преобразование этого массива/матрицы в формат COOrdinate.

tocsc([copy])

Преобразовать этот массив/матрицу в формат сжатого разреженного столбца.

tocsr([copy])

Преобразовать этот массив/матрицу в формат сжатых строк (CSR).

todense([order, out])

Возвращает плотное представление этого разреженного массива.

todia([copy])

Преобразовать этот массив/матрицу в разреженный DIAгональный формат.

todok([copy])

Преобразовать этот массив/матрицу в формат Dictionary Of Keys.

tolil([copy])

Преобразовать этот массив/матрицу в формат List of Lists.

trace([offset])

Возвращает сумму по диагоналям разреженного массива/матрицы.

transpose([axes, copy])

Обращает размерности разреженного массива/матрицы.

trunc()

Поэлементное усечение.

__mul__

Примечания

Разреженные массивы можно использовать в арифметических операциях: они поддерживают сложение, вычитание, умножение, деление и возведение матрицы в степень. Разреженные массивы с диагональным хранением (DIA) не поддерживают срезы.

Примеры

>>> import numpy as np
>>> from scipy.sparse import dia_array
>>> dia_array((3, 4), dtype=np.int8).toarray()
array([[0, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 0]], dtype=int8)
>>> data = np.array([[1, 2, 3, 4]]).repeat(3, axis=0)
>>> offsets = np.array([0, -1, 2])
>>> dia_array((data, offsets), shape=(4, 4)).toarray()
array([[1, 0, 3, 0],
       [1, 2, 0, 4],
       [0, 2, 3, 0],
       [0, 0, 3, 4]])
>>> from scipy.sparse import dia_array
>>> n = 10
>>> ex = np.ones(n)
>>> data = np.array([ex, 2 * ex, ex])
>>> offsets = np.array([-1, 0, 1])
>>> dia_array((data, offsets), shape=(n, n)).toarray()
array([[2., 1., 0., ..., 0., 0., 0.],
       [1., 2., 1., ..., 0., 0., 0.],
       [0., 1., 2., ..., 0., 0., 0.],
       ...,
       [0., 0., 0., ..., 2., 1., 0.],
       [0., 0., 0., ..., 1., 2., 1.],
       [0., 0., 0., ..., 0., 1., 2.]])