Python,Pandas,Numpy:Date_range:将np.timedelta作为freq传递.争论

我有一个格式为numpy.timedelta(64)的时间增量:
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')

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...