Numpy.数组dtype赋值失败



我对numpy完全陌生,我试图创建一个结构化数组。我的输入如下:

data = [2, 0, '1431.033', '436.7573', '170.9705', 0, '', 0]
dt = [('ID', 'int'),
('CP', 'int'),
('X1', 'float'),
('X2', 'float'),
('X3', 'float'),
('CD', 'int'),
('PS', 'str'),
('SEID', 'int')]

当我尝试使用np.array(data, dtypes=dt)创建数组时,我得到错误{ValueError}invalid literal for int() with base 10: '1431.033'

我在这里做错了什么?

从文档中可以看出,给结构化数组赋值的最简单方法是使用python原生元组。通过将我的数据组织为list中的元组,可以成功创建结构化数组。

data = [(2, 0, '1431.033', '436.7573', '170.9705', 0, '', 0)]
dt = [('ID', 'int'),
('CP', 'int'),
('X1', 'float'),
('X2', 'float'),
('X3', 'float'),
('CD', 'int'),
('PS', 'str'),
('SEID', 'int')]

最新更新