I have a dataframe of many days that look like this....consecutive rows of 30 min intervals:
a b
2006-05-08 09:30:00 10 13
2006-05-08 10:00:00 11 12
.
.
.
2006-05-08 15:30:00 15 14
2006-05-08 16:00:00 16 15
However, I only care about certain specific times, so I want EVERY DAY of the df to look like:
2006-05-08 09:30:00 10 13
2006-05-08 11:30:00 14 15
2006-05-08 13:00:00 18 15
2006-05-08 16:00:00 16 15
Meaning, I just want to keep the rows at times (16, 13, 11:30, 9:30), for all the different days in the dataframe.
Thanks
Update:
I made a bit of progress, using
hour = df.index.hour
selector = ((hour == 16) | (hour == 13) | (hour == 11) | (hour == 9))
df = df[selector]
However, I need to account for the minutes too, so I tried:
minute = df.index.minute
selector = ((hour == 16) & (minute == 0) | (hour == 3) & (minute == 0) | (hour == 9) & (minute == 30) | (hour == 12) & (minute == 0))
But I get error:
ValueError: operands could not be broadcast together with shapes (96310,) (16500,)