scipy.sparse.

dok_array#

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

Dictionary Of Keys basierendes Sparse-Array.

Dies ist eine effiziente Struktur für die inkrementelle Konstruktion von Sparse-Arrays.

Dies kann auf verschiedene Arten instanziiert werden
dok_array(D)

wobei D ein 2-D ndarray ist

dok_array(S)

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

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

erstellt das Array mit der initialen 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.

T

Transponierte.

Methoden

__len__()

Gibt len(self) 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.

clear()

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

fromkeys(iterable[, value])

Erstellt ein neues Dictionary mit Schlüsseln aus iterable und Werten, die auf value gesetzt sind.

get(key[, default])

Bietet Funktionalität der dict.get-Methode mit Typüberprüfung

items()

keys()

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.

pop(k[,d])

Wenn der Schlüssel nicht gefunden wird, wird default zurückgegeben, wenn es angegeben ist; andernfalls wird ein KeyError ausgelöst.

popitem()

Entfernt und gibt ein (Schlüssel, Wert)-Paar als 2-Tupel zurück.

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.

setdefault(key[, default])

Fügt den Schlüssel mit dem Wert default ein, wenn der Schlüssel nicht im Dictionary vorhanden ist.

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.

update([E, ]**F)

Wenn E vorhanden ist und eine .keys()-Methode hat, dann gilt: for k in E: D[k] = E[k] Wenn E vorhanden ist und keine .keys()-Methode hat, dann gilt: for k, v in E: D[k] = v In beiden Fällen folgt darauf: for k in F: D[k] = F[k]

Werte()

__getitem__

__mul__

Hinweise

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

  • Ermöglicht effizienten O(1)-Zugriff auf einzelne Elemente.

  • Duplikate sind nicht erlaubt.

  • Kann nach der Konstruktion effizient in ein coo_array konvertiert werden.

Beispiele

>>> import numpy as np
>>> from scipy.sparse import dok_array
>>> S = dok_array((5, 5), dtype=np.float32)
>>> for i in range(5):
...     for j in range(5):
...         S[i, j] = i + j    # Update element