gpt4 book ai didi

python - Numpy 结构化数组 : string type not understood when specifying dtype with a dict

转载 作者:行者123 更新时间:2023-11-28 16:36:17 24 4
gpt4 key购买 nike

如果我以不同的方式初始化具有相同字段名称和类型的结构数组,会发生以下情况:

>>> a = np.zeros(2, dtype=[('x','int64'),('y','a')])
>>> a
array([(0L, ''), (0L, '')],
dtype=[('x', '<i8'), ('y', 'S')])

因此使用元组列表进行初始化工作正常。

>>> mdtype = dict(names=['x','y'],formats=['int64','a'])
>>> mdtype
{'names': ['x', 'y'], 'formats': ['int64', 'a']}
>>> a = np.zeros(2,dtype=mdtype)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: data type not understood

所以用字典初始化不行,问题是字符串类型:

>>> mdtype = dict(names=['x','y'],formats=['int64','float64'])
>>> a = np.zeros(2,dtype=mdtype)
>>>

没有问题。有任何想法吗?这是 Numpy 错误吗?

Numpy 版本:1.8.0

Win32 上的 Python 2.7.6(默认,2013 年 11 月 10 日,19:24:24)[MSC v.1500 64 位 (AMD64)]

最佳答案

作为解决方法,如果您指定字符串宽度,它会起作用:

>>> mdtype = dict(names=['x','y'],formats=['int64','a1'])
>>> np.dtype(mdtype)
dtype([('x', '<i8'), ('y', 'S1')])

可能与 this 有关和 this .如果它不是一个错误,它非常接近...

关于python - Numpy 结构化数组 : string type not understood when specifying dtype with a dict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25766831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com