Altörnekleme yaparken, enterpolasyon yapmak yanlış bir şeydir. Her zaman toplu bir yaklaşım kullanın.
Çözümü azaltmak için bir "factor" kullanarak bunu yapmak için blok araçları kullanıyorum.
import numpy as np
from scipy import ndimage
def block_mean(ar, fact):
assert isinstance(fact, int), type(fact)
sx, sy = ar.shape
X, Y = np.ogrid[0:sx, 0:sy]
regions = sy/fact * (X/fact) + Y/fact
res = ndimage.mean(ar, labels=regions, index=np.arange(regions.max() + 1))
res.shape = (sx/fact, sy/fact)
return res
Örneğin, 5 (5x5 blok) bir faktörü kullanarak (100, 200) şekil dizisi (20, 40) dizi sonucu ile sonuçlanır:
ar = np.random.rand(20000).reshape((100, 200))
block_mean(ar, 5).shape # (20, 40)
faktörler tarafından azaltmak için birden fazla uygulanabilir bir kod parçası olduğunu frefcobj = m.pcolormesh (x, y, bulucu, gölgeleme = 'düz', vmin = -15, vmax = 15, cmap = cmap, zorder = 1) sütun = m.colorbar (frefcobj, "alt", size = "4%", pad = "5%", genişlet = 'her iki', keneler = aralıklar) ' diff, 699x699 dizisidir. Görevi gerçekleştirmiyor gibi görünüyor. – wuffwuff
Daha önce deneme yapmayı denemedim, ancak yakınlaştırma kullanarak bir snippet ekledim. Aradığın şey bu değil mi?Şu anda görüntüyü test edemiyorum çünkü daha eski bir sürüm olan scipy'im var. Buna – Hammer
İlginç görünüyor. Aradığım şey gibi 'yeniden örnekleme' gibi görünmüyor. Bunun yerine, diff dizisini aldı ve basemap penceresinde birden çok kez çizdi. Sanırım bir çeşit toplama veya çözme tekniğine ihtiyacım var. Şimdiye kadar girdiniz için teşekkürler. – wuffwuff