que trabajé desde hace algún tiempo utilizando Python y pandas para analizar un conjunto de datos horarios y parece bastante agradable (Viniendo de Matlab.)pandas, pitón - cómo seleccionar momentos específicos en series de tiempo
Ahora estoy tipo de atrapado. He creado mi DataFrame
así:
SamplingRateMinutes=60
index = DateRange(initialTime,finalTime, offset=datetools.Minute(SamplingRateMinutes))
ts=DataFrame(data, index=index)
Lo que quiero hacer ahora es seleccionar los datos para todos los días en el horario de 10 a 13 y 20-23 para utilizar los datos para los cálculos posteriores. Hasta ahora en rodajas los datos utilizando
selectedData=ts[begin:end]
y estoy seguro de obtener algún tipo de bucle sucia para seleccionar los datos necesarios. Pero debe haber una manera más elegante de indexar exactamente lo que quiero. Estoy seguro de que este es un problema común y la solución en pseudocódigo debe ser algo así:
myIndex=ts.index[10<=ts.index.hour<=13 or 20<=ts.index.hour<=23]
selectedData=ts[myIndex]
mencionar que soy un ingeniero y programador sin embargo :) ...
¡Trabajos! ¡Muchas gracias! –
Así es como se implementaría esta solución en la sintaxis para 0.10 y combinándola con la respuesta de Wes a continuación: 'dr = pd.date_range (dt (2009,1,1), dt (2010,12,31), frecuencia = 'H'); dt = pd.DataFrame (rand (len (dr), 2), dr); hour = dt.index.hour; selector = ((10 <= hora) & (hora <= 13)) | ((20 <= hora) & (hora <= 23)) datos = dt [selector] ' –