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:
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
shapegegebenen 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