Any give me a tip for filtering a dataset to contain only data for Monday through Friday on the times of 8AM to 4PM?
import numpy as np
import pandas as pd
np.random.seed(11)
rows,cols = 50000,2
data = np.random.rand(rows,cols)
tidx = pd.date_range('2019-01-01', periods=rows, freq='H')
df = pd.DataFrame(data, columns=['Temperature','Value'], index=tidx)
#filter for time
df = df.between_time('8:00', '16:00')
#filter out weekends
df = df[(df.index.weekday < 6)]
df
This only seems to be Tuesdays for some reason
df['dayName'] = df.index.day_name()[0]
df.dayName.describe()
prints
count 16074
unique 1
top Tuesday
freq 16074
Name: dayName, dtype: object