将数据集分布从每天转换为每周



我有一个关于每日用餐记录的数据集,如下所示:

Date          Meals           
04-02-2020        2   
05-02-2020        3  
06-02-2020        2 
07-02-2020        3
08-02-2020        3
09-02-2020        2 
10-02-2020        1
11-02-2020        3
12-02-2020        3   
13-02-2020        1  
14-02-2020        2 
15-02-2020        1
16-02-2020        2
17-02-2020        2 
18-02-2020        3

我想将记录的分布从每天转换为每周,以便结果如下:

Date (starting date of the week)         Meals (average no. Meals in each week)            
04-02-2020                                  2   
11-02-2020                                  2 

当我运行以下代码时:

df2=df.set_index('date')   # note that Date was datetime datatype
Output = df2.resample('W',loffset=pd.offsets.timedelta(days=-6)).apply({'Snack'  : 'mean'}) 

我得到了这个错误:

---------------------------------------------------------------------------
SpecificationError                        Traceback (most recent call last)
<ipython-input-1382-5715acb0763f> in <module>
---->   1 Output = df2.resample('W',loffset=pd.offsets.timedelta(days=-6)).apply({'Snack' : 'mean'})        
~/opt/anaconda3/lib/python3.7/site-packages/pandas/core/resample.py in aggregate(self, func, *args, **kwargs)
279 
280         self._set_binner()
--> 281         result, how = self._aggregate(func, *args, **kwargs)
282         if result is None:
283             how = func
~/opt/anaconda3/lib/python3.7/site-packages/pandas/core/base.py in _aggregate(self, arg, *args, **kwargs)
364                     obj.columns.intersection(keys)
365                 ) != len(keys):
--> 366                     raise SpecificationError("nested renamer is not supported")
367 
368             from pandas.core.reshape.concat import concat
SpecificationError: nested renamer is not supported

有人能帮忙吗?:(

谢谢Shosho

df2 = (df
.set_index('date')
.groupby(pd.Grouper(freq='W')
.sum()
)

最新更新