csc_array#
- class scipy.sparse.csc_array(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[Quelle]#
Compressed Sparse Column Array.
- Dies kann auf verschiedene Arten instanziiert werden
- csc_array(D)
wobei D ein 2-D ndarray ist
- csc_array(S)
mit einem anderen Sparse Array oder einer Matrix S (äquivalent zu S.tocsc())
- csc_array((M, N), [dtype])
zum Erstellen eines leeren Arrays mit der Form (M, N). dtype ist optional und hat standardmäßig dtype=’d’.
- csc_array((data, (row_ind, col_ind)), [shape=(M, N)])
wobei
data,row_indundcol_inddie Beziehunga[row_ind[k], col_ind[k]] = data[k]erfüllen.- csc_array((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 indata[indptr[i]:indptr[i+1]]gespeichert sind. Wenn der Shape-Parameter nicht angegeben wird, werden die Array-Dimensionen aus den Index-Arrays abgeleitet.
- Attribute:
- dtypedtype
Datentyp des Arrays
- shape2-tuple
Form des Arrays
- ndimint
Anzahl der Dimensionen (dies ist immer 2)
nnzAnzahl der gespeicherten Werte, einschließlich expliziter Nullen.
sizeAnzahl der gespeicherten Werte.
- data
CSC-Format-Datenarray des Arrays
- indices
CSC-Format-Indexarray des Arrays
- indptr
CSC-Format-Indexzeigerarray des Arrays
has_sorted_indicesOb die Indizes sortiert sind
has_canonical_formatOb das Array/die Matrix sortierte Indizes und keine Duplikate hat
TTransponierte.
Methoden
__len__()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.
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
Entfernt Nulleinträge aus dem Array/der Matrix
expm1()Elementweise expm1.
floor()Elementweise Abrundung.
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
shapegegebenen Dimensionen.rint()Elementweise Rundung zur nächsten ganzen Zahl.
setdiag(values[, k])Setzt diagonale oder nicht-diagonale Elemente des Arrays/der Matrix.
sign()Elementweises Vorzeichen.
sin()Elementweise Sinus.
sinh()Elementweise Sinus hyperbolicus.
Sortiert die Indizes dieses Arrays/dieser Matrix *direkt*.
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.
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 dieses Sparse Arrays 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__
__mul__
Hinweise
Sparse Arrays können in arithmetischen Operationen verwendet werden: sie unterstützen Addition, Subtraktion, Multiplikation, Division und Matrizenpotenz.
- Vorteile des CSC-Formats
effiziente arithmetische Operationen CSC + CSC, CSC * CSC, usw.
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_array >>> csc_array((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_array((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_array((data, indices, indptr), shape=(3, 3)).toarray() array([[1, 0, 4], [0, 0, 5], [2, 3, 6]])