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](См. пример ниже)
- Атрибуты:
Методы
__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)Изменить размер массива/матрицы на месте до размеров, заданных
shaperint()Поэлементный 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.]])