dates = pd.date_range('2001-01-01', periods=N // P, freq='D').repeat(P)
df = pd.DataFrame(np.random.random((N, M)), index=dates)
df.index.names = ['DATE']
grouped = df.groupby(level='DATE')
Более быстрый способ удаления выбросов по группам в больших пандах DataFrame