scipy.sparse.csr_matrix

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

Compressed Sparse Row matrix

This can be instantiated in several ways:
csr_matrix(D)
with a dense matrix or rank-2 ndarray D
csr_matrix(S)
with another sparse matrix S (equivalent to S.tocsr())
csr_matrix((M, N), [dtype])
to construct an empty matrix with shape (M, N) dtype is optional, defaulting to dtype=’d’.
csr_matrix((data, ij), [shape=(M, N)])
where data and ij satisfy the relationship a[ij[0, k], ij[1, k]] = data[k]
csr_matrix((data, indices, indptr), [shape=(M, N)])
is the standard CSR representation where the column indices for row i are stored in indices[indptr[i]:indices[i+1]] and their corresponding values are stored in data[indptr[i]:indptr[i+1]]. If the shape parameter is not supplied, the matrix dimensions are inferred from the index arrays.

Notes

Advantages of the CSR format
  • efficient arithmetic operations CSR + CSR, CSR * CSR, etc.
  • efficient row slicing
  • fast matrix vector products
Disadvantages of the CSR format
  • slow column slicing operations (consider CSC)
  • changes to the sparsity structure are expensive (consider LIL or DOK)

Examples

>>> from scipy.sparse import *
>>> from scipy import *
>>> csr_matrix( (3,4), dtype=int8 ).todense()
matrix([[0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0]], dtype=int8)
>>> row = array([0,0,1,2,2,2])
>>> col = array([0,2,2,0,1,2])
>>> data = array([1,2,3,4,5,6])
>>> csr_matrix( (data,(row,col)), shape=(3,3) ).todense()
matrix([[1, 0, 2],
        [0, 0, 3],
        [4, 5, 6]])
>>> indptr = array([0,2,3,6])
>>> indices = array([0,2,2,0,1,2])
>>> data = array([1,2,3,4,5,6])
>>> csr_matrix( (data,indices,indptr), shape=(3,3) ).todense()
matrix([[1, 0, 2],
        [0, 0, 3],
        [4, 5, 6]])

Methods

asformat(format) Return this matrix in a given sparse format
asfptype() Upcast matrix to a floating point format (if necessary)
astype(t)
check_format([full_check]) check whether the matrix format is valid
conj()
conjugate()
copy()
diagonal() Returns the main diagonal of the matrix
dot(other)
eliminate_zeros() Remove zero entries from the matrix
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
mean([axis]) Average the matrix over the given axis.
multiply(other) Point-wise multiplication by another matrix
nonzero() nonzero indices
prune() Remove empty space after all non-zero elements.
reshape(shape)
set_shape(shape)
setdiag(values[, k]) Fills the diagonal elements {a_ii} with the values from the given sequence.
sort_indices() Sort the indices of this matrix in place
sorted_indices() Return a copy of this matrix with sorted indices
sum([axis]) Sum the matrix over the given axis.
sum_duplicates() Eliminate duplicate matrix entries by adding them together
toarray()
tobsr([blocksize, copy])
tocoo([copy]) Return a COOrdinate representation of this matrix
tocsc()
tocsr([copy])
todense()
todia()
todok()
tolil()
transpose([copy])

Previous topic

scipy.sparse.csc_matrix.transpose

Next topic

scipy.sparse.csr_matrix.asformat

This Page