![](/img/trans.png)
[英]numpy matmul very slow when one of the two is np.array(dtype=np.complex128).real
[英]Numpy np.array with dtype TypeError
描述
我花了大约一个小时试图找出一个numpy数组构造错误。 我一定不能正确使用numpy dtypes,但错误消息不够描述,我没有给出足够好的堆栈跟踪来查找错误。
创建相同错误的简化示例 :
import numpy as np
names = ['id', 'x']
formats = [np.int64, np.float64]
np.array([1, 1.0], dtype={'names': names, 'formats': formats})
以下代码导致错误
----> 1 np.array([1, 1.0], dtype={'names': names, 'formats': formats})
TypeError: a bytes-like object is required, not 'int'
所以我得到的错误发生在第一个元素是一个int,但为什么它期望像对象一样的字节?
答:它与第一个元素在int中的事实无关。 列表需要是一个元组,见下文。
解决方案是numpy需要单个元组或元组列表。 不是列表或列表的列表。
以下作品
np.array((1, 1.0), dtype={'names': names, 'formats': formats})
我发现numpy没有在错误中表明这是预期的结果令人沮丧。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.