Pandas Dataframe Mask baseado em índice
Eu tenho o seguinte dataframe:
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)
Como posso gerar uma máscara com base no valor do índice? Eu sei que posso fazer 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
Eu quero gerar uma máscara para considerar apenas algumas linhas onde o índice está em um determinado intervalo. Eu estava pensando em fazer algo comodata['index'].time() > datetime.time(1,15)
para gerar uma máscara. Exceto clarodata['index']
falha porque o índice não é o nome de uma coluna. Como você pode referenciar o valor do índice para uma linha em uma máscara?