Numpy: indicizzazione booleana e utilizzo della memoria
-
12-11-2019 - |
Domanda
Considera quanto segue numpy
codice:
A[start:end] = B[mask]
Qui:
A
eB
sono array 2D con lo stesso numero di colonne;start
eend
sono scalari;mask
è un array booleano 1D;(end - start) == sum(mask)
.
In linea di principio, l'operazione di cui sopra può essere eseguita utilizzando O(1)
archiviazione temporanea, copiando elementi di B
direttamente in A
.
È questo ciò che effettivamente accade nella pratica o fa numpy
costruire un array temporaneo per B[mask]
? Se quest'ultimo, c'è un modo per evitarlo riscrivendo l'affermazione?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow