您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 在熊猫中分组时间的快捷方式

5b51 2022/1/14 8:20:44 python 字数 1953 阅读 465 来源 www.jb51.cc/python

我有几天1分钟数据的时间序列,并且希望在一天中的所有日期对其进行平均.这很慢:from datetime import datetime from pandas import date_range, Series time_ind = date_range(datetime(2013, 1, 1), datetime(2013, 1, 10), freq='

概述

我有几天1分钟数据的时间序列,并且希望在一天中的所有日期对其进行平均.

这很慢:

from datetime import datetime
from pandas import date_range,Series
time_ind = date_range(datetime(2013,1,1),datetime(2013,10),freq='1min')
all_data = Series(randn(len(time_ind)),time_ind)
time_mean = all_data.groupby(lambda x: x.time()).mean()

运行差不多一分钟!

虽然像:

time_mean = all_data.groupby(lambda x: x.minute).mean()

只需要几分之一秒.

是否有更快的方式按时间分组?

知道为什么这么慢吗?

In [4]: %timeit all_data.groupby(all_data.index.time).mean()
1 loops,best of 3: 11.8 s per loop

In [5]: %timeit all_data.groupby(lambda x: x.time()).mean()
Exception RuntimeError: 'maximum recursion depth exceeded while calling a Python object' in 
  

使用当前的master,两种方法都相当快:

In [1]: pd.version.version
Out[1]: '0.11.1.dev-06cd915'

In [5]: %timeit all_data.groupby(lambda x: x.time()).mean()
1 loops,best of 3: 215 ms per loop

In [6]: %timeit all_data.groupby(all_data.index.time).mean()
10 loops,best of 3: 113 ms per loop
'0.11.1.dev-06cd915'

因此,您可以更新到主服务器或等待本月应该发布的0.11.1.

总结

以上是编程之家为你收集整理的python – 在熊猫中分组时间的快捷方式全部内容,希望文章能够帮你解决python – 在熊猫中分组时间的快捷方式所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶