numpy.where
ile MemoryError
alıyorum ama neden emin değilim. Asıl kodu burada yayınlayamıyorum, ancak aşağıdakileri çoğaltan küçük bir çalışma örneğidir.Numune numarası
import numpy as np
dat = np.random.randn(100000, 1, 1, 1, 45, 2, 3)
# The following two steps seem superfluous but I wanted to replicate
# behaviour in the original code
cond = dat[:,0,0,0,0,0,0] > 0
cond = cond[:,None,None,None,None,None,None]
dat2 = np.where(cond, dat, 0)
dat[...,2] = np.where(cond, dat[...,2], dat2[...,2]) # Causes MemoryError
Bilgisayarımda daha fazla bellek eklemeyi sorunu çözecek anlıyorum, ama burada neler olduğunu anlamak istiyorum.
Yukarıdaki dizi dilimlerinin diziyi kopyalamayacağını, ancak yalnızca bir görünüm döndüreceğini umuyorum, ancak aslında bir nedenle diziyi kopyaladığını varsayalım.