首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用datetime64实现numpy数字化

用datetime64实现numpy数字化
EN

Stack Overflow用户
提问于 2014-12-08 02:31:57
回答 1查看 1.3K关注 0票数 5

我似乎不能让numpy.digitize与datetime64一起工作:

代码语言:javascript
复制
date_bins = np.array([np.datetime64(datetime.datetime(2014, n, 1), 's') for n in range(1,13)])
np.digitize(date_bins, date_bins)

它会给出以下错误:

代码语言:javascript
复制
TypeError: Cannot cast array data from dtype('<M8[s]') to dtype('float64') according to the rule 'safe'

这是预期的行为吗?

EN

回答 1

Stack Overflow用户

发布于 2014-12-08 02:55:07

获取datetime值的i8视图:

代码语言:javascript
复制
>>> date_bins_i8 = date_bins.view('i8')
>>> np.digitize(date_bins_i8, date_bins_i8)
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])

i8是64位整数数据类型,view构造数组内存的视图。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27346248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档