熊猫:重新采样不规则的DateTime索引/ PeriodIndex

时间:2017-12-29 05:31:04

标签: pandas resampling

尝试使用Panda的.resample()函数从不规则的观察中进行上采样(例如,从大约7秒开始到小时样本,使用最后一次观察)。我不断收到此错误消息:

AttributeError: type object 'Grouper' has no attribute '_attributes'

即使使用先前提出的问题的语法(Pandas resample和其他人)。 Pandas通常可以使用不规则的Datetime索引(来自Cookbook)

我的问题似乎是DataFrame的数据格式我尝试应用.resample(),但我无法弄清楚错误是什么用它。 Pandas版本是0.21.0(来自conda,64位linux,Python 3.6.4)。

我看到一些示例数据:

df.head()

                    x
date    
2017-12-18 07:01:15 20054.42
2017-12-18 07:01:24 20057.17
2017-12-18 07:01:32 20047.99
2017-12-18 07:01:40 20046.15
2017-12-18 07:01:49 20045.23

df.dtypes

x    float64
dtype: object

df.index

DatetimeIndex(['2017-12-18 07:01:15', '2017-12-18 07:01:24', '2017-12-18 
07:01:32', '2017-12-18 07:01:40', '2017-12-18 07:01:49', '2017-12-18 
07:01:58', '2017-12-18 07:02:06', '2017-12-18 07:02:14', '2017-12-18 
07:02:22', '2017-12-18 07:02:31',
           ...
           '2017-12-29 03:00:11', '2017-12-29 03:00:19', '2017-12-29 
03:00:42', '2017-12-29 03:00:50', '2017-12-29 03:00:57', '2017-12-29 
03:01:04', '2017-12-29 03:01:11', '2017-12-29 03:01:20', '2017-12-29 
03:01:27', '2017-12-29 03:01:34'], dtype='datetime64[ns]', name='date', 
length=99492, freq=None)

df.resample(' D')是否可以在此df上运行,还是需要预处理? (比如设置与freq = None不同的东西)。我已经看过解决方法和手动代码做同样的事情,但我想了解我的数据格式有什么问题。直接使用Pandas resample也可以长期使用。

我得到的完整堆栈跟踪错误(但是我无法看到我在哪个位置做错了,它位于PeriodIndex的分支中):

AttributeError                            Traceback (most recent call last)
<ipython-input-120-5e18e9f3f0c1> in <module>()
     15 
     16 
---> 17 df['x'].resample('60S')

~/CODE/Python/anaconda2/envs/neo/lib/python3.6/site-      
packages/pandas/core/generic.py in resample(self, rule, how, axis, 
fill_method, closed, label, convention, kind, loffset, limit, base, on, 
level)
   5514         2000-01-01 00:03:00  0  4   8  12
   5515         """
-> 5516         from pandas.core.resample import (resample,
   5517                                           _maybe_process_deprecations)
   5518         axis = self._get_axis_number(axis)

~/CODE/Python/anaconda2/envs/neo/lib/python3.6/site-
packages/pandas/core/resample.py in <module>()
   1008 
   1009 
-> 1010 class TimeGrouper(Grouper):
   1011     """
   1012     Custom groupby class for time-interval grouping

~/CODE/Python/anaconda2/envs/neo/lib/python3.6/site-
packages/pandas/core/resample.py in TimeGrouper()
   1020         If axis is PeriodIndex
   1021     """
-> 1022     _attributes = Grouper._attributes + ('closed', 'label', 'how',
   1023                                          'loffset', 'kind', 
'convention',
   1024                                          'base')

AttributeError: type object 'Grouper' has no attribute '_attributes'

0 个答案:

没有答案