Pandas Dataframe Mask basado en el índice
Tengo el siguiente marco de datos:
import pandas as pd
index = pd.date_range('2013-1-1',periods=10,freq='15Min')
data = pd.DataFrame(data=[1,2,3,4,5,6,7,8,9,0], columns=['value'], index=index)
¿Cómo puedo generar una máscara basada en el valor del índice? Sé que puedo hacer algo como:
data['value'] > 3
Out[40]:
2013-01-01 00:00:00 False
2013-01-01 00:15:00 False
2013-01-01 00:30:00 False
2013-01-01 00:45:00 True
2013-01-01 01:00:00 True
2013-01-01 01:15:00 True
2013-01-01 01:30:00 True
2013-01-01 01:45:00 True
2013-01-01 02:00:00 True
2013-01-01 02:15:00 False
Freq: 15T, Name: value, dtype: bool
Quiero generar una máscara para considerar solo algunas filas donde el índice está dentro de un rango determinado. Estaba pensando en hacer algo comodata['index'].time() > datetime.time(1,15)
para generar una máscara. Excepto por supuestodata['index']
falla porque el índice no es el nombre de una columna. ¿Cómo puede hacer referencia al valor de índice para una fila en una máscara?