# 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: dtype : dtype Data type of the matrix shape : 2-tuple Get shape of a matrix. ndim : int Number of dimensions (this is always 2) nnz Number of stored values, including explicit zeros.

Methods

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

#### Previous topic

scipy.sparse.dia_matrix.trunc

#### Next topic

scipy.sparse.dok_matrix.asformat