scipy.sparse.

csc_matrix#

class scipy.sparse.csc_matrix(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[Quelle]#

Compressed Sparse Column Matrix.

Dies kann auf verschiedene Arten instanziiert werden
csc_matrix(D)

wobei D ein 2-D ndarray ist

csc_matrix(S)

mit einer anderen Sparse-Array oder Matrix S (entspricht S.tocsc())

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

zur Erstellung einer leeren Matrix mit der Form (M, N). dtype ist optional und standardmäßig auf dtype='d' gesetzt.

csc_matrix((data, (row_ind, col_ind)), [shape=(M, N)])

wobei data, row_ind und col_ind die Beziehung a[row_ind[k], col_ind[k]] = data[k] erfüllen.

csc_matrix((data, indices, indptr), [shape=(M, N)])

ist die Standard-CSC-Darstellung, bei der die Zeilenindizes für Spalte i in indices[indptr[i]:indptr[i+1]] gespeichert sind und ihre entsprechenden Werte in data[indptr[i]:indptr[i+1]] gespeichert sind. Wenn der Parameter shape nicht angegeben ist, werden die Matrixdimensionen aus den Index-Arrays abgeleitet.

Attribute:
dtypedtype

Datentyp der Matrix

shape2-Tupel

Form der Matrix

ndimint

Anzahl der Dimensionen (dies ist immer 2)

nnz

Anzahl der gespeicherten Werte, einschließlich expliziter Nullen.

size

Anzahl der gespeicherten Werte.

data

CSC-Format-Datenarray der Matrix

indices

CSC-Format-Indexarray der Matrix

indptr

CSC-Format-Indexzeigerarray der Matrix

has_sorted_indices

Ob die Indizes sortiert sind

has_canonical_format

Ob das Array/die Matrix sortierte Indizes und keine Duplikate hat

T

Transponierte.

Methoden

__len__()

__mul__(other)

arcsin()

Elementweise Arcussinus.

arcsinh()

Elementweise Arcusshinus.

arctan()

Elementweise Arctangens.

arctanh()

Elementweise Arcustangens.

argmax([axis, out, explicit])

Gibt die Indizes der maximalen Elemente entlang einer Achse zurück.

argmin([axis, out, explicit])

Gibt die Indizes der minimalen Elemente entlang einer Achse zurück.

asformat(format[, copy])

Gibt dieses Array/diese Matrix im übergebenen Format zurück.

asfptype()

Matrix in Fließkommaformat hochstapeln (falls erforderlich)

astype(dtype[, casting, copy])

Gibt die Elemente des Arrays/der Matrix in einem angegebenen Typ aus.

ceil()

Elementweise Aufrundung.

check_format([full_check])

Prüft, ob das Array/die Matrix das CSR- oder CSC-Format einhält.

conj([copy])

Elementweise komplexe Konjugation.

conjugate([copy])

Elementweise komplexe Konjugation.

copy()

Gibt eine Kopie dieses Arrays/dieser Matrix zurück.

count_nonzero([axis])

Anzahl der Nicht-Null-Einträge, äquivalent zu

deg2rad()

Elementweise Umrechnung von Grad in Radiant.

diagonal([k])

Gibt die k-te Diagonale des Arrays/der Matrix zurück.

dot(other)

Gewöhnliches Skalarprodukt

eliminate_zeros()

Entfernt Nulleinträge aus dem Array/der Matrix

expm1()

Elementweise expm1.

floor()

Elementweise Abrundung.

getH()

Gibt die hermitesche Transponierte dieser Matrix zurück.

get_shape()

Ruft die Form der Matrix ab

getcol(j)

Gibt eine Kopie der Spalte j der Matrix als (m x 1) Sparse-Matrix (Spaltenvektor) zurück.

getformat()

Matrixspeicherformat

getmaxprint()

Maximale Anzahl von Elementen, die beim Drucken angezeigt werden.

getnnz([axis])

Anzahl der gespeicherten Werte, einschließlich expliziter Nullen.

getrow(i)

Gibt eine Kopie der Zeile i der Matrix als (1 x n) Sparse-Matrix (Zeilenvektor) zurück.

log1p()

Elementweise log1p.

max([axis, out, explicit])

Gibt das Maximum des Arrays/der Matrix oder das Maximum entlang einer Achse zurück.

maximum(other)

Elementweises Maximum zwischen diesem und einem anderen Array/einer anderen Matrix.

mean([axis, dtype, out])

Berechnet das arithmetische Mittel entlang der angegebenen Achse.

min([axis, out, explicit])

Gibt das Minimum des Arrays/der Matrix oder das Maximum entlang einer Achse zurück.

minimum(other)

Elementweises Minimum zwischen diesem und einem anderen Array/einer anderen Matrix.

multiply(other)

Elementweise Multiplikation mit einem anderen Array/einer anderen Matrix.

nanmax([axis, out, explicit])

Gibt das Maximum zurück und ignoriert alle NaNs entlang einer Achse.

nanmin([axis, out, explicit])

Gibt das Minimum zurück und ignoriert alle NaNs entlang einer Achse.

nonzero()

Nicht-Null-Indizes des Arrays/der Matrix.

power(n[, dtype])

Diese Funktion führt elementweise Potenzierung durch.

prune()

Entfernt leeren Speicherplatz nach allen Nicht-Null-Elementen.

rad2deg()

Elementweise Umrechnung von Radiant in Grad.

reshape(self, shape[, order, copy])

Gibt einem Sparse Array/einer Sparse Matrix eine neue Form, ohne dessen/deren Daten zu ändern.

resize(*shape)

Ändert die Größe des Arrays/der Matrix direkt auf die durch shape gegebenen Dimensionen.

rint()

Elementweise Rundung zur nächsten ganzen Zahl.

set_shape(shape)

Setzt die Form der Matrix inplace

setdiag(values[, k])

Setzt diagonale oder nicht-diagonale Elemente des Arrays/der Matrix.

sign()

Elementweises Vorzeichen.

sin()

Elementweise Sinus.

sinh()

Elementweise Sinus hyperbolicus.

sort_indices()

Sortiert die Indizes dieses Arrays/dieser Matrix *direkt*.

sorted_indices()

Gibt eine Kopie dieses Arrays/dieser Matrix mit sortierten Indizes zurück.

sqrt()

Elementweise Quadratwurzel.

sum([axis, dtype, out])

Summiert die Elemente des Arrays/der Matrix über eine gegebene Achse.

sum_duplicates()

Entfernt Duplikateinträge, indem sie addiert werden.

tan()

Elementweise Tangens.

tanh()

Elementweise Tangens hyperbolicus.

toarray([order, out])

Gibt eine dichte ndarray-Darstellung dieses Sparse Arrays/dieser Sparse Matrix zurück.

tobsr([blocksize, copy])

Konvertiert dieses Array/diese Matrix in das Block Sparse Row (BSR)-Format.

tocoo([copy])

Konvertiert dieses Array/diese Matrix in das COOrdinate (COO)-Format.

tocsc([copy])

Konvertiert dieses Array/diese Matrix in das Compressed Sparse Column (CSC)-Format.

tocsr([copy])

Konvertiert dieses Array/diese Matrix in das Compressed Sparse Row (CSR)-Format.

todense([order, out])

Gibt eine dichte Darstellung dieser Sparse-Matrix zurück.

todia([copy])

Konvertiert dieses Array/diese Matrix in das sparse DIAgonal-Format.

todok([copy])

Konvertiert dieses Array/diese Matrix in das Dictionary Of Keys (DOK)-Format.

tolil([copy])

Konvertiert dieses Array/diese Matrix in das List of Lists (LIL)-Format.

trace([offset])

Gibt die Summe entlang der Diagonalen des Sparse Arrays/der Sparse Matrix zurück.

transpose([axes, copy])

Kehrt die Dimensionen des Sparse Arrays/der Sparse Matrix um.

trunc()

Elementweise Trunkierung.

__getitem__

Hinweise

Sparse-Matrizen können in arithmetischen Operationen verwendet werden: sie unterstützen Addition, Subtraktion, Multiplikation, Division und Matrixpotenz.

Vorteile des CSC-Formats
  • effiziente arithmetische Operationen CSC + CSC, CSC * CSC, etc.

  • effizientes Spaltenslicing

  • schnelle Matrix-Vektor-Produkte (CSR, BSR können schneller sein)

Nachteile des CSC-Formats
  • langsame Zeilenslicing-Operationen (erwägen Sie CSR)

  • Änderungen an der Sparsity-Struktur sind teuer (erwägen Sie LIL oder DOK)

Kanonisches Format
  • Innerhalb jeder Spalte sind die Indizes nach Zeile sortiert.

  • Es gibt keine doppelten Einträge.

Beispiele

>>> import numpy as np
>>> from scipy.sparse import csc_matrix
>>> csc_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, 2, 2, 0, 1, 2])
>>> col = np.array([0, 0, 1, 2, 2, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csc_matrix((data, (row, col)), shape=(3, 3)).toarray()
array([[1, 0, 4],
       [0, 0, 5],
       [2, 3, 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])
>>> csc_matrix((data, indices, indptr), shape=(3, 3)).toarray()
array([[1, 0, 4],
       [0, 0, 5],
       [2, 3, 6]])