У меня есть такой фрейм данных:
import pandas as pd
import numpy as np
time = pd.date_range('2018-05-14 00:00:00','2018-05-14 01:00:00',freq='5T')
mile = np.linspace(0,100,10)
x = list(time)*len(mile)
y = np.repeat(mile,len(time))
z = []
for i in range(0,10,1):
z.extend(np.random.normal(loc=i*5, scale=5, size=13))
origin_data = pd.DataFrame({'x':x, 'y':y ,'z':z})
origin_data
содержит исходные позиции точек (x и y) и их значения (z). Я хочу интерполировать значения z
в этих новых позициях : x = pd.date_range('2018-05-14 00:00:00','2018-05-14 01:00:00',freq='1T')
с y = np.linspace(0,91,1)
, просто используя билинейную интерполяцию.
Я узнал об официальном документе о scipy.interpolate.interp2d
. Но его тип x числовой, мой тип datetime. Кроме того, значения z
в учебном пособии вычисляются, а мои уже заданы, поэтому я не знаю, как обрабатывать порядок ввода значений z
. Может ли кто-нибудь дать мне пример, который содержит график результатов интерполяции, основанный на приведенном выше кадре данных? Спасибо за внимание!