Ich habe einen Satz von Werten zu regelmäßigen Zeiten gemessen. Sprich:Interpolieren einer Zeitreihe auf andere in Pandas
import pandas as pd
import numpy as np
rng = pd.date_range('2013-01-01', periods=12, freq='H')
data = pd.Series(np.random.randn(len(rng)), index=rng)
Und ein anderer Satz von mehr beliebigen Zeiten, zum Beispiel (in Wirklichkeit ist diese Zeiten nicht eine reguläre Folge)
ts_rng = pd.date_range('2013-01-01 01:11:21', periods=7, freq='87Min')
ts = pd.Series(index=ts_rng)
ich den Wert der Daten zu den Zeiten interpolierten wissen will in ts.
Ich kann das numpy in tun:
x = np.asarray(ts_rng,dtype=np.float64)
xp = np.asarray(data.index,dtype=np.float64)
fp = np.asarray(data)
ts[:] = np.interp(x,xp,fp)
Aber ich Pandas fühlen hat diese Funktionalität irgendwo in resample
, reindex
usw., aber ich kann es nicht recht bekommen.
Sie müssen für die wichtigsten Argumente in interpolieren verwenden method = ‚Werte‘, das gleiche zu erhalten Antwort wie in numpy pd.concat ([Daten, ts]). sort_index(). interpolieren (Methode = 'Werte') [ts.index] – elfnor
Achten Sie auf Indizes, die sowohl in ts als auch in Daten angezeigt werden – tschm