Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Coder avec une
Intelligence Artificielle
Voir le programme détaillé
Module « scipy.sparse »

Classe « csr_matrix »

Informations générales

Héritage

    builtins.object
        IndexMixin
    builtins.object
        _minmax_mixin
builtins.object
    _spbase
        _data_matrix
            _cs_matrix
                _csr_base
            builtins.object
                spmatrix
                    csr_matrix

Définition

class csr_matrix(spmatrix, _csr_base):

help(csr_matrix)

Compressed Sparse Row matrix.

This can be instantiated in several ways:
    csr_matrix(D)
        where D is a 2-D ndarray

    csr_matrix(S)
        with another sparse array or 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, (row_ind, col_ind)), [shape=(M, N)])
        where ``data``, ``row_ind`` and ``col_ind`` satisfy the
        relationship ``a[row_ind[k], col_ind[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]:indptr[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.

Attributes
----------
dtype : dtype
    Data type of the matrix
shape : 2-tuple
    Shape of the matrix
ndim : int
    Number of dimensions (this is always 2)
nnz
size
data
    CSR format data array of the matrix
indices
    CSR format index array of the matrix
indptr
    CSR format index pointer array of the matrix
has_sorted_indices
has_canonical_format
T

Notes
-----

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

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)

Canonical Format
    - Within each row, indices are sorted by column.
    - There are no duplicate entries.

Examples
--------

>>> import numpy as np
>>> from scipy.sparse import csr_matrix
>>> csr_matrix((3, 4), dtype=np.int8).toarray()
array([[0, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 0]], dtype=int8)

>>> row = np.array([0, 0, 1, 2, 2, 2])
>>> col = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csr_matrix((data, (row, col)), shape=(3, 3)).toarray()
array([[1, 0, 2],
       [0, 0, 3],
       [4, 5, 6]])

>>> indptr = np.array([0, 2, 3, 6])
>>> indices = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csr_matrix((data, indices, indptr), shape=(3, 3)).toarray()
array([[1, 0, 2],
       [0, 0, 3],
       [4, 5, 6]])

Duplicate entries are summed together:

>>> row = np.array([0, 1, 2, 0])
>>> col = np.array([0, 1, 1, 0])
>>> data = np.array([1, 2, 4, 8])
>>> csr_matrix((data, (row, col)), shape=(3, 3)).toarray()
array([[9, 0, 0],
       [0, 2, 0],
       [0, 4, 0]])

As an example of how to construct a CSR matrix incrementally,
the following snippet builds a term-document matrix from texts:

>>> docs = [["hello", "world", "hello"], ["goodbye", "cruel", "world"]]
>>> indptr = [0]
>>> indices = []
>>> data = []
>>> vocabulary = {}
>>> for d in docs:
...     for term in d:
...         index = vocabulary.setdefault(term, len(vocabulary))
...         indices.append(index)
...         data.append(1)
...     indptr.append(len(indices))
...
>>> csr_matrix((data, indices, indptr), dtype=int).toarray()
array([[2, 1, 0, 0],
       [0, 1, 1, 1]])

Constructeur(s)

Signature du constructeur Description
__init__(self, arg1, shape=None, dtype=None, copy=False, *, maxprint=None)

Liste des propriétés

Nom de la propriétéDescription
dtype
formatFormat string for matrix. [extrait de format.__doc__]
has_canonical_formatWhether the array/matrix has sorted indices and no duplicates [extrait de has_canonical_format.__doc__]
has_sorted_indicesWhether the indices are sorted [extrait de has_sorted_indices.__doc__]
imag
ndim
nnzNumber of stored values, including explicit zeros. [extrait de nnz.__doc__]
real
shapeShape of the matrix [extrait de shape.__doc__]
sizeNumber of stored values. [extrait de size.__doc__]
TTranspose. [extrait de T.__doc__]

Liste des opérateurs

Opérateurs hérités de la classe _cs_matrix

__eq__, __ge__, __gt__, __le__, __lt__, __ne__

Liste des opérateurs

Opérateurs hérités de la classe IndexMixin

__getitem__, __setitem__

Liste des opérateurs

Opérateurs hérités de la classe _data_matrix

__imul__, __itruediv__, __neg__

Liste des opérateurs

Opérateurs hérités de la classe _spbase

__add__, __iadd__, __isub__, __matmul__, __mul__, __pow__, __radd__, __rmul__, __rsub__, __rtruediv__, __sub__, __truediv__

Liste des méthodes

Toutes les méthodes Méthodes d'instance Méthodes statiques Méthodes dépréciées
Signature de la méthodeDescription

Méthodes héritées de la classe _csr_base

__init_subclass__, __iter__, __subclasshook__, tobsr, tocsc, tocsr, tolil, transpose

Méthodes héritées de la classe _cs_matrix

check_format, count_nonzero, diagonal, eliminate_zeros, maximum, minimum, multiply, prune, resize, sort_indices, sorted_indices, sum, sum_duplicates, toarray, tocoo

Méthodes héritées de la classe _minmax_mixin

argmax, argmin, max, min, nanmax, nanmin

Méthodes héritées de la classe _data_matrix

__abs__, __round__, astype, conjugate, copy, power

Méthodes héritées de la classe _spbase

__bool__, __div__, __idiv__, __len__, __nonzero__, __rdiv__, __repr__, __rmatmul__, __str__, asformat, conj, dot, mean, nonzero, reshape, setdiag, todense, todia, todok, trace

Méthodes héritées de la classe spmatrix

asfptype, get_shape, getcol, getformat, getH, getmaxprint, getnnz, getrow, set_shape

Méthodes héritées de la classe object

__delattr__, __dir__, __format__, __getattribute__, __getstate__, __hash__, __reduce__, __reduce_ex__, __setattr__, __sizeof__

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation Python
Les compléments
Voir le programme détaillé