簡體   English   中英

Pandas resample函數不能在DateTimeIndex上工作

[英]Pandas resample function not working on DateTimeIndex

我有一個名為aus的數據框,如下所示:

+--------------+-------------+
|              | link clicks |
+--------------+-------------+
| created_time |             |
| 2015-07-20   |        8600 |
| 2015-07-21   |       11567 |
| 2015-07-22   |        1809 |
| 2015-07-23   |        7032 |
| 2015-07-26   |       23704 |
+--------------+-------------+

我將索引aus.index = pd.to_datetime(aus.index) DateTimeIndex,如下所示: aus.index = pd.to_datetime(aus.index)

然后我運行這樣的檢查: type(aus.index) ,給定的輸出是pandas.tseries.index.DatetimeIndex

然后,當我嘗試將索引重新采樣為幾周時,如aus.index = aus.resample('w', how='sum', axis=1)我遇到以下錯誤:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-310-3268a3f46a19> in <module>()
----> 1 aus.index = aus.resample('w', how='sum', axis=1)

/usr/local/lib/python2.7/site-packages/pandas/core/generic.pyc in resample(self, rule, how, axis, fill_method, closed, label, convention, kind, loffset, limit, base)
   3264                               fill_method=fill_method, convention=convention,
   3265                               limit=limit, base=base)
-> 3266         return sampler.resample(self).__finalize__(self)
   3267 
   3268     def first(self, offset):

/usr/local/lib/python2.7/site-packages/pandas/tseries/resample.pyc in resample(self, obj)
    100             return self.obj
    101         else:  # pragma: no cover
--> 102             raise TypeError('Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex')
    103 
    104         rs_axis = rs._get_axis(self.axis)

TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex

我之前的類型檢查說我有正確的索引,但resample函數不這么認為。 有什么想法嗎?

axis = 1表示它正在嘗試重新采樣列(不是DatetimeIndex)。

In [11]: df.columns
Out[11]: Index([u'link clicks'], dtype='object')

In [12]: type(df.columns)
Out[12]: pandas.core.index.Index

使用axis = 0:

In [21]: aus.resample('w', how='sum', axis=0)
Out[21]:
              link clicks
created_time
2015-07-26          52712

注意:這是resample的默認值:

In [22]: aus.resample('w', how='sum')
Out[22]:
              link clicks
created_time
2015-07-26          52712

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM