Nokta korelasyonunu korurken üç ayrı iki boyutlu diziyi nasıl düzleştirebilirim? Örneğin, x ve y için konum bilgisi içeren bir veri kümesinden ve bazı ilişkili veri dizisinden (cartm) bir veri ağı oluşturuyorum. İnterpolasyondan sonra, X2
ve Y2
, ağ örgüsü nedeniyle 300x300 boyutuna sahiptir; interpval
ayrıca 300x300 boyutlarındadır, çünkü her bir interpval
noktası, (X2, Y2) meshgrid üzerindeki tek bir koordinatla ilişkilendirilmiştir.2B meshgrid düzleştirirken nokta korelasyonunun sürdürülmesi
Bu 2d matrislerinin her birini nasıl düzleştirebilirim ve interpval
değerleri ile meshgrid'teki konumları arasındaki 1: 1 bağıntısını nasıl koruyabilirim? Nihayetinde, bir X-location sütunu, bir Y-konumu sütunu ve ilgili enterpolasyon verisine sahip bir sütun ile bir Nx3 dizisi ile sonuçlanmak istiyorum. Şimdiden teşekkürler!
import numpy as np
import scipy.interpolate
import matplotlib.pyplot as plt
# Create x,y vectors
cartx = np.array([0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50])
carty = np.array([1, 23, 4, 6, 12, 15, 16, 18, 20, 21, 22])
# Create data vector
cartm = np.array([5.3, 23, 2, 5, 2, 2.5, 13, 9, 7.5, 1.7, 12])
# Prepare meshgrid, interpolate
cartcoord = zip(cartx, carty)
X = np.linspace(cartx.min(), cartx.max(), 300)
Y = np.linspace(carty.min(), carty.max(), 300)
X2, Y2 = np.meshgrid(X, Y)
interp = scipy.interpolate.LinearNDInterpolator(cartcoord, cartm, fill_value=0)
interpval = interp(X2, Y2)
print(X2.shape, Y2.shape, interpval.shape)