侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

如何使用数据类型(datetime,float)进行numpy重新排列?

2023-01-29 星期日 / 0 评论 / 0 点赞 / 50 阅读 / 1156 字

假设我有一些简单的数据 y = [[datetime.datetime( 2012,1,1),2.1],[datetime.datetime( 2012,2),-3.1],3),0.1]]

... . . 假设我有一些简单的数据

y = [[datetime.datetime( 2012,1,1),2.1],[datetime.datetime( 2012,2),-3.1],3),0.1]]

我想要一个与之对应的numpy记录数组.看起来我应该能够做到这一点:

np.rec.array( y,dtype=[('timestamp',object),('x','f')] )

或这个

np.rec.array( y,'|O8'),'f')] )

或许这个

np.rec.array( y,'V'),'f')] )

但他们每个人都会返回一个错误

ValueError: Setting void-array with object members using buffer.

要么

TypeError: expected a readable buffer object

那么假设它甚至可能,我怎么能设置它呢?

.

解决方法

. 您可以使用元组而不是列表来记录:

>> y = [(datetime.datetime( 2012,2.1),...     (datetime.datetime( 2012,-3.1),0.1)]>> np.rec.array(y,'f')])rec.array([(datetime.datetime(2012,2.0999999046325684),(datetime.datetime(2012,-3.0999999046325684),0.10000000149011612)],'<f4')])
. . .. ...

广告 广告

评论区