结构化数据类型转换产生额外维度

问题描述 投票:0回答:1

所以我试图将 numpy 数组写入二进制 PLY 文件,需要类型转换。我所做的是

A = array([0.        , 0.00333476, 0.29804176, 0.66598558])
A.astype([('idx', '<i4'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])

输出:

array([(0, 0.        , 0.        , 0.        ),
       (0, 0.00333476, 0.00333476, 0.00333476),
       (0, 0.29804176, 0.29804176, 0.29804176),
       (0, 0.6659856 , 0.6659856 , 0.6659856 )],
      dtype=[('idx', '<i4'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])

期待:

array((0, 0.00333476, 0.29804176, 0.6659856), dtype=[('idx', '<i4'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])

顺便说一句,我使用的是 numpy 版本“1.24.4”,这是一个错误吗?

python numpy ply-file-format
1个回答
0
投票

你必须使用元组

A = array((0.        , 0.00333476, 0.29804176, 0.66598558))
A.astype([('idx', '<i4'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])
© www.soinside.com 2019 - 2024. All rights reserved.