У меня есть некоторые дневные данные, и я использую sh для вычисления отклонения каждой точки данных от его среднемесячного значения, но я хочу различать среднемесячное значение между будним и выходным днями.
некоторые образцы данных:
import pandas as pd
import numpy as np
from datetime import datetime, timedelta
date_today = datetime.now()
days = pd.date_range(date_today, date_today + timedelta(100), freq='D')
np.random.seed(seed=1111)
data = 66*np.random.randint(1, high=100, size=len(days))/100
df = pd.DataFrame({'Date': days, 'vals': data})
df = df.set_index('Date')
print(df)
Теперь, если я считал все дни одинаковыми, я могу сделать это:
df['valdifftoavg']= df['vals'].sub(df.resample("M")['vals'].transform('mean'))
Но я хочу различать guish, поэтому, если ежедневные данные - это будний день, вычтите среднее значение рабочего дня этого месяца, а если это выходной, вычтите среднее значение выходного дня этого месяца.