按周重新采样数据



我有一个由100个用户组成的时间序列数据集,查看365天的事务。数据帧当前设置如下:

date    2018-04-01 2018-04-02 2018-04-03 2018-04-04  2018-04-05 ...
userid
1              0          0             0        0          13.40
2            12.32        0             0        0           3.60
3            11.32        0           14.22      0            0
4              0          0             0        0           9.87
5              0          0           19.52      0            0
...

我想将其重新采样到52周,每7天计算一次交易总额。我该怎么做?

为此有一个方法DataFrame.resample:

#df.columns=pd.to_datetime(df.columns)
df_resamp=df.resample('W',axis=1).sum()
print(df_resamp)
2018-04-01  2018-04-08
userid                        
1             0.00       14.50
2            12.32        5.60
3            11.32       17.22
4             0.00       12.87
5             0.00       21.52

您可以使用weekofyear:

df.groupby(df.columns.weekofyear, axis=1).sum()

输出:

date       13     14
userid              
1        0.00  13.40
2       12.32   3.60
3       11.32  14.22
4        0.00   9.87
5        0.00  19.52

您也可以每七天分组一次:

(df.groupby(np.repeat(np.arange(df.shape[1]), 7)[:df.shape[1]],
axis=1)
.sum()
)

相关内容

  • 没有找到相关文章

最新更新