# scipy.sparse.dok_matrix¶

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

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

```>>> from scipy.sparse import *
>>> from scipy import *
>>> S = dok_matrix((5,5), dtype=float32)
>>> for i in range(5):
>>>     for j in range(5):
>>>         S[i,j] = i+j # Update element
```

Attributes

 shape ndim int(x[, base]) -> integer nnz
 dtype dtype Data type of the matrix

Methods

 asformat(format) Return this matrix in a given sparse format asfptype() Upcast matrix to a floating point format (if necessary) astype(t) clear D.clear() -> None. Remove all items from D. conj() conjtransp() Return the conjugate transpose conjugate() copy() diagonal() Returns the main diagonal of the matrix dot(other) fromkeys(...) v defaults to None. get(key[, default]) This overrides the dict.get method, providing type checking getH() get_shape() getcol(j) Returns a copy of column j of the matrix, as an (m x 1) sparse getformat() getmaxprint() getnnz() getrow(i) Returns a copy of row i of the matrix, as a (1 x n) sparse has_key D.has_key(k) -> True if D has a key k, else False items D.items() -> list of D’s (key, value) pairs, as 2-tuples iteritems D.iteritems() -> an iterator over the (key, value) items of D iterkeys D.iterkeys() -> an iterator over the keys of D itervalues D.itervalues() -> an iterator over the values of D keys D.keys() -> list of D’s keys mean([axis]) Average the matrix over the given axis. multiply(other) Point-wise multiplication by another matrix nonzero() nonzero indices pop D.pop(k[,d]) -> v, remove specified key and return the corresponding value. popitem D.popitem() -> (k, v), remove and return some (key, value) pair as a reshape(shape) resize(shape) Resize the matrix in-place to dimensions given by ‘shape’. set_shape(shape) setdefault D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D setdiag(values[, k]) Fills the diagonal elements {a_ii} with the values from the given sequence. split(cols_or_rows[, columns]) sum([axis]) Sum the matrix over the given axis. take(cols_or_rows[, columns]) toarray() tobsr([blocksize]) tocoo() Return a copy of this matrix in COOrdinate format tocsc() Return a copy of this matrix in Compressed Sparse Column format tocsr() Return a copy of this matrix in Compressed Sparse Row format todense() todia() todok([copy]) tolil() transpose() Return the transpose update D.update(E, **F) -> None. Update D from dict/iterable E and F. values D.values() -> list of D’s values viewitems D.viewitems() -> a set-like object providing a view on D’s items viewkeys D.viewkeys() -> a set-like object providing a view on D’s keys viewvalues D.viewvalues() -> an object providing a view on D’s values

#### Previous topic

scipy.sparse.dia_matrix.transpose

#### Next topic

scipy.sparse.dok_matrix.shape