【发布时间】:2020-05-29 14:43:36
【问题描述】:
我有一些每日数据,我希望计算每个数据点与其月平均值的偏差,但我想区分工作日和周末之间的月平均值。
一些样本数据:
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'))
但我想区分,所以如果每日数据是工作日减去该月的工作日平均值,如果是周末,则减去该月的周末平均值。
【问题讨论】: