Проблема с scipy gridddata - PullRequest
       111

Проблема с scipy gridddata

0 голосов
/ 03 августа 2020

У меня есть несколько точек в пространстве, и я хочу создать интерполированную сетку. Я использую функцию griddata из библиотеки scipy.

Может ли кто-нибудь объяснить, почему эти 2 фрагмента дают разные результаты для точки (2,2)?

import pandas as pd
from scipy.interpolate import griddata

g = pd.DataFrame({
    'lon': [1,1,1,2,2,3,3,3],
    'lat': [1,2,3,1,3,1,2,3],
    'windspeed': [1,100,1000,2,2000,3,300,3000]
})

grid_x, grid_y = np.mgrid[1:4, 1:4]
gridmap = g[['lon', 'lat']].to_numpy()
grid_z0 = griddata(gridmap, g['windspeed'], (grid_x, grid_y), method='linear')

Это приводит к: enter image description here

import pandas as pd
from scipy.interpolate import griddata

g = pd.DataFrame({
    'lon': [1,1,1,2,2,3,3,3],
    'lat': [1,2,3,1,3,1,2,3],
    'windspeed': [1,2,3,100,300,1000,2000,3000]
})

grid_x, grid_y = np.mgrid[1:4, 1:4]
gridmap = g[['lon', 'lat']].to_numpy()
grid_z0 = griddata(gridmap, g['windspeed'], (grid_x, grid_y), method='linear')

This results in: введите описание изображения здесь

Как видите, я транспонировал только вектор скорости ветра, но это не должно изменить интерполированное значение для точки (2,2). Или, может быть, мне просто не хватает чего-то действительно основного c и я должен go вернуться в школу?

...