dok_matrix#
- класс scipy.sparse.dok_matrix(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[источник]#
Разреженная матрица на основе словаря ключей.
Это эффективная структура для инкрементального построения разреженных матриц.
- Это может быть создано несколькими способами:
- dok_matrix(D)
где D — это 2-D ndarray
- dok_matrix(S)
с другой разреженной матрицей или массивом S (эквивалентно S.todok())
- dok_matrix((M,N), [dtype])
создать матрицу с начальной формой (M,N) type необязателен, по умолчанию dtype='d'
- Атрибуты:
Методы
__len__()Возвращает len(self).
__mul__(other)asformat(format[, copy])Вернуть этот массив/матрицу в переданном формате.
asfptype()Приведение матрицы к формату с плавающей точкой (при необходимости)
astype(dtype[, casting, copy])Привести элементы массива/матрицы к указанному типу.
clear()conj([copy])Поэлементное комплексное сопряжение.
conjugate([copy])Поэлементное комплексное сопряжение.
copy()Возвращает копию этого массива/матрицы.
count_nonzero([axis])Количество ненулевых элементов, эквивалентно
diagonal([k])Возвращает k-ю диагональ массива/матрицы.
dot(other)Обычное скалярное произведение
fromkeys(iterable[, value])Создать новый словарь с ключами из итерируемого объекта и значениями, установленными в value.
get(key[, default])Это обеспечивает функциональность метода dict.get с проверкой типов
getH()Возвращает эрмитово сопряжённую матрицу.
Получить форму разреженной матрицы.
getcol(j)Возвращает копию столбца j матрицы в виде разреженной матрицы (m x 1) (вектор-столбец).
Формат хранения матрицы
Максимальное количество элементов для отображения при печати.
getnnz([axis])Количество хранимых значений, включая явные нули.
getrow(i)Возвращает копию строки i матрицы в виде разреженной матрицы (1 x n) (вектор-строка).
items()keys()maximum(other)Поэлементный максимум между этим и другим массивом/матрицей.
mean([axis, dtype, out])Вычисляет среднее арифметическое вдоль указанной оси.
minimum(other)Поэлементный минимум между этим и другим массивом/матрицей.
multiply(other)Поэлементное умножение на другой массив/матрицу.
nonzero()Ненулевые индексы массива/матрицы.
pop(k[,d])Если ключ не найден, возвращается значение по умолчанию, если оно задано; в противном случае вызывается исключение KeyError.
popitem()Удалить и вернуть пару (ключ, значение) в виде 2-кортежа.
power(n[, dtype])Поэлементное возведение в степень.
reshape(self, shape[, order, copy])Придаёт новую форму разреженному массиву/матрице без изменения данных.
resize(*shape)Изменить размер массива/матрицы на месте до размеров, заданных
shapeset_shape(форма)Установить форму матрицы на месте
setdefault(key[, default])Вставить ключ со значением по умолчанию, если ключа нет в словаре.
setdiag(values[, k])Установить диагональные или внедиагональные элементы массива/матрицы.
sum([axis, dtype, out])Суммировать элементы массива/матрицы по заданной оси.
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])Обращает размерности разреженного массива/матрицы.
update([E, ]**F)Если E присутствует и имеет метод .keys(), то выполняется: for k in E: D[k] = E[k] Если E присутствует, но не имеет метода .keys(), то выполняется: for k, v in E: D[k] = v В любом случае, далее следует: for k in F: D[k] = F[k]
values()__getitem__
Примечания
Разреженные матрицы можно использовать в арифметических операциях: они поддерживают сложение, вычитание, умножение, деление и возведение матрицы в степень.
Обеспечивает эффективный O(1) доступ к отдельным элементам.
Дубликаты не допускаются.
Может быть эффективно преобразована в coo_matrix после построения.
Примеры
>>> import numpy as np >>> from scipy.sparse import dok_matrix >>> S = dok_matrix((5, 5), dtype=np.float32) >>> for i in range(5): ... for j in range(5): ... S[i, j] = i + j # Update element