# scipy.sparse.dok_matrix¶

class scipy.sparse.dok_matrix(arg1, shape=None, dtype=None, copy=False)[source]

Dictionary Of Keys based sparse matrix.

This is an efficient structure for constructing sparse matrices incrementally.

This can be instantiated in several ways:
dok_matrix(D)

with a dense matrix, D

dok_matrix(S)

with a sparse matrix, S

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

create the matrix with initial shape (M,N) dtype is optional, defaulting to dtype=’d’

Notes

Sparse matrices can be used in arithmetic operations: they support addition, subtraction, multiplication, division, and matrix power.

Allows for efficient O(1) access of individual elements. Duplicates are not allowed. Can be efficiently converted to a coo_matrix once constructed.

Examples

>>> 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

Attributes
dtypedtype

Data type of the matrix

shape2-tuple

Get shape of a matrix.

ndimint

Number of dimensions (this is always 2)

nnz

Number of stored values, including explicit zeros.

Methods

 asformat(self, format[, copy]) Return this matrix in the passed format. asfptype(self) Upcast matrix to a floating point format (if necessary) astype(self, dtype[, casting, copy]) Cast the matrix elements to a specified type. conj(self[, copy]) Element-wise complex conjugation. conjtransp(self) Return the conjugate transpose. conjugate(self[, copy]) Element-wise complex conjugation. copy(self) Returns a copy of this matrix. count_nonzero(self) Number of non-zero entries, equivalent to diagonal(self[, k]) Returns the k-th diagonal of the matrix. dot(self, other) Ordinary dot product fromkeys(iterable[, value]) Returns a new dict with keys from iterable and values equal to value. get(self, key[, default]) This overrides the dict.get method, providing type checking but otherwise equivalent functionality. getH(self) Return the Hermitian transpose of this matrix. get_shape(self) Get shape of a matrix. getcol(self, j) Returns the j-th column as a (m x 1) DOK matrix. getformat(self) Format of a matrix representation as a string. getmaxprint(self) Maximum number of elements to display when printed. getnnz(self[, axis]) Number of stored values, including explicit zeros. getrow(self, i) Returns the i-th row as a (1 x n) DOK matrix. maximum(self, other) Element-wise maximum between this and another matrix. mean(self[, axis, dtype, out]) Compute the arithmetic mean along the specified axis. minimum(self, other) Element-wise minimum between this and another matrix. multiply(self, other) Point-wise multiplication by another matrix nonzero(self) nonzero indices If key is not found, d is returned if given, otherwise KeyError is raised 2-tuple; but raise KeyError if D is empty. power(self, n[, dtype]) Element-wise power. reshape(self, shape[, order, copy]) Gives a new shape to a sparse matrix without changing its data. resize(self, \*shape) Resize the matrix in-place to dimensions given by shape set_shape(self, shape) setdiag(self, values[, k]) Set diagonal or off-diagonal elements of the array. sum(self[, axis, dtype, out]) Sum the matrix elements over a given axis. toarray(self[, order, out]) Return a dense ndarray representation of this matrix. tobsr(self[, blocksize, copy]) Convert this matrix to Block Sparse Row format. tocoo(self[, copy]) Convert this matrix to COOrdinate format. tocsc(self[, copy]) Convert this matrix to Compressed Sparse Column format. tocsr(self[, copy]) Convert this matrix to Compressed Sparse Row format. todense(self[, order, out]) Return a dense matrix representation of this matrix. todia(self[, copy]) Convert this matrix to sparse DIAgonal format. todok(self[, copy]) Convert this matrix to Dictionary Of Keys format. tolil(self[, copy]) Convert this matrix to LInked List format. transpose(self[, axes, copy]) Reverses the dimensions of the sparse matrix. update(self, val) If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

#### Previous topic

scipy.sparse.dia_matrix.trunc

#### Next topic

scipy.sparse.dok_matrix.asformat