我有一个格式为numpy.timedelta(64)的时间增量:
value = numpy.timedelta64(30,’m’)
(这里30分钟).
value = numpy.timedelta64(30,’m’)
(这里30分钟).
有没有办法将该值传递给pandas date_range的构造:
pd.date_range(start_time,end_time,freq = value)?
如果不是如何转换该值以便在date_range中传递它?我尝试了value.astype(‘str’),但它返回’0:30:00′,它也不适合作为pd.date_range的参数.
解决方法
您可以将其转换为timedelta并将其传递给freq.
>>> pd.date_range('20160101','20170101',freq=pd.timedelta(value)) DatetimeIndex(['2016-01-01 00:00:00','2016-01-01 00:30:00','2016-01-01 01:00:00','2016-01-01 01:30:00','2016-01-01 02:00:00','2016-01-01 02:30:00','2016-01-01 03:00:00','2016-01-01 03:30:00','2016-01-01 04:00:00','2016-01-01 04:30:00',... '2016-12-31 19:30:00','2016-12-31 20:00:00','2016-12-31 20:30:00','2016-12-31 21:00:00','2016-12-31 21:30:00','2016-12-31 22:00:00','2016-12-31 22:30:00','2016-12-31 23:00:00','2016-12-31 23:30:00','2017-01-01 00:00:00'],dtype='datetime64[ns]',length=17569,freq='30T')
我认为旧版本的pandas不支持此功能,但仍可使用频率字符串:
pd.date_range('20160101',freq='30min')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。