scipy.sparse.

lil_array#

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

Zeilenweise LIst of Lists Sparse Array.

Dies ist eine Struktur zum inkrementellen Aufbau von Sparse Arrays. Beachten Sie, dass das Einfügen eines einzelnen Elements im schlimmsten Fall lineare Zeit in Anspruch nehmen kann; um das Array effizient zu konstruieren, stellen Sie sicher, dass die Elemente nach Index, pro Zeile, vorsortiert sind.

Dies kann auf verschiedene Arten instanziiert werden
lil_array(D)

wobei D ein 2-D ndarray ist

lil_array(S)

mit einem anderen Sparse Array oder einer Matrix S (entspricht S.tolil())

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

zum Erstellen eines leeren Arrays mit der Form (M, N). dtype ist optional und hat standardmäßig dtype=’d’.

Attribute:
dtypedtype

Datentyp des Arrays

shape2-tuple

Form des Arrays

ndimint

Anzahl der Dimensionen (dies ist immer 2)

nnz

Anzahl der gespeicherten Werte, einschließlich expliziter Nullen.

size

Anzahl der gespeicherten Werte.

data

LIL-Format-Datenarray des Arrays

rows

LIL-Format-Zeilenindex-Array des Arrays

T

Transponierte.

Methoden

__len__()

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.

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

diagonal([k])

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

dot(other)

Gewöhnliches Skalarprodukt

getrow(i)

Gibt eine Kopie der 'i'-ten Zeile zurück.

getrowview(i)

Gibt eine Ansicht der 'i'-ten Zeile zurück (ohne Kopie).

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.

minimum(other)

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

multiply(other)

Elementweise Multiplikation mit einem anderen Array/einer anderen Matrix.

nonzero()

Nicht-Null-Indizes des Arrays/der Matrix.

power(n[, dtype])

Elementweise Potenzierung.

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.

setdiag(values[, k])

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

sum([axis, dtype, out])

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

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.

__getitem__

__mul__

Hinweise

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

Vorteile des LIL-Formats
  • unterstützt flexibles Slicing

  • Änderungen an der Sparsity-Struktur des Arrays sind effizient

Nachteile des LIL-Formats
  • arithmetische Operationen LIL + LIL sind langsam (betrachten Sie CSR oder CSC)

  • langsames Spalten-Slicing (betrachten Sie CSC)

  • langsame Matrix-Vektor-Produkte (betrachten Sie CSR oder CSC)

Beabsichtigte Verwendung
  • LIL ist ein praktisches Format zum Erstellen von Sparse Arrays

  • Sobald ein Array erstellt wurde, konvertieren Sie es in das CSR- oder CSC-Format für schnelle arithmetische Operationen und Matrix-Vektor-Operationen

  • Ziehen Sie die Verwendung des COO-Formats beim Erstellen großer Arrays in Betracht

Datenstruktur
  • Ein Array (self.rows) von Zeilen, von denen jede eine sortierte Liste von Spaltenindizes von Nicht-Null-Elementen ist.

  • Die entsprechenden Nicht-Null-Werte werden in ähnlicher Weise in self.data gespeichert.