加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 11:57:07 所属栏目:Python 来源:网络整理
导读:我有一个格式为numpy.timedelta(64)的时间增量: value = numpy.timedelta64(30,’m’) ?(这里30分钟). 有没有办法将该值传递给pandas date_range的构造: pd.date_range(start_time,end_time,freq = value)? 如果不是如何转换该值以便在date_range中传递它
我有一个格式为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')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读