I have the following framework:
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)
How to create a mask based on the index value? I know I can do something like:
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
I want to create a mask to only look at some rows where the index is in a certain range. I was thinking of doing something like data['index'].time() > datetime.time(1,15) to create a mask. Except, of course, data['index'] fails because the index is not a column name. How can you refer to the index value for a string in a mask?
source share