将每周数据重新采样为季度或每月一次,而周数不固定

时间:2020-02-12 16:32:30

标签: pandas time-series

所以我有每周的销售数据:

# Create the dataframe
test_df = pd.DataFrame({'year': [2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018], 'week': [9, 10, 11, 12, 13, 14, 15, 16, 17], 'sales': [100, 200, 100, 300, 200, 100, 200, 100, 300]})

# Convert the week and 
test_df['date'] = test_df["year"].astype(str) + '-' + test_df["week"].astype(str)
test_df['date'] = pd.to_datetime(test_df['date'] + '0', format='%Y-%W%w')
test_df

这是结果数据框:


    year    week  sales date
0   2018    9     100   2018-03-04
1   2018    10    200   2018-03-11
2   2018    11    100   2018-03-18
3   2018    12    300   2018-03-25
4   2018    13    200   2018-04-01
5   2018    14    100   2018-04-08
6   2018    15    200   2018-04-15
7   2018    16    100   2018-04-22
8   2018    17    300   2018-04-29

现在,我想对这些数据进行平滑处理,并将其重新采样到数月或数个季度,以便做出更稳定的长期预测。但是,当我将数据重新采样为季度或月度数据时,每个期间的周数将不均匀,大约是4周和5周(如果是季度,则为13、12、11):

test_df = test_df.set_index('date')
test_df = test_df.resample('M').sum()
test_df.drop(columns=['year', 'week'])

这给出了:

            sales
date    
2018-03-31  700
2018-04-30  900

现在我知道几个月了,几个月的周数有所不同。但是,如果第一周从1月1日开始,那么季度应该总是具有相同的星期数,对吧?

我的问题是,我从年份-周->日期的转换中是否缺少某些内容?如果我从中创建不同的子序列来训练预测模型,这将是一个问题。

0 个答案:

没有答案