Tengo dos conjuntos de fecha de temperatura, que tienen lecturas a intervalos de tiempo regulares (pero diferentes). Estoy tratando de obtener la correlación entre estos dos conjuntos de datos.Cómo obtener la correlación entre dos series de tiempo usando Pandas
He estado jugando con Pandas para intentar hacer esto. Creé dos series de tiempo y estoy usando TimeSeriesA.corr(TimeSeriesB)
. Sin embargo, si los tiempos en los 2 timeSeries no coinciden exactamente (generalmente están desactivados por segundos), obtengo Null como respuesta. Podría obtener una respuesta decente si pudiera:
a) Interpolar/relleno veces falta en cada TimeSeries (Sé que esto es posible en pandas, yo simplemente no saben cómo hacerlo)
b) quite los segundos de los objetos de fecha y hora de Python (establezca los segundos en 00, sin cambiar los minutos). Voy a perder un grado de exactitud, pero no una gran cantidad
c) Utilizar algo más en las pandas para obtener la correlación entre dos series temporales
d) utilizar algo en Python para obtener la correlación entre dos listas de flota, cada flotante tiene un objeto datetime correspondiente, teniendo en cuenta el tiempo.
¿Alguien tiene alguna sugerencia?
Ja, lo tienes antes de que pudiera: -) ... –
Si estoy leyendo la última parte a la derecha, la última parte calcula la media para valores entre 00 y 60 segundos (la media para XX: XX: 30, no XX: XX: 00), y asigna el resultado a XX: XX : 00. La forma más sencilla de solucionar esto sería 'date.replace (second = 30)', una forma demasiado compleja de obtener los promedios por minuto sería: 'ts_mean = seriesT.groupby (lambda date: date.replace (second = 0) if date.second <30 else date.replace (second = 0) + timedelta (minutes = 1)). mean() ' – user814005