我正在尝试创建一个2 * 3 numpy数组,如下所示:
x_sample= np.array([31000,28.69,7055.47],[79000,3.9,16933.26]);
但我明白了:
TypeError: data type not understood
为什么我收到错误?
答案 0 :(得分:3)
两个列表中缺少括号。
x_sample= np.array([[31000,28.69,7055.47],[79000,3.9,16933.26]])
编写dtype
参数的方式是接收值[79000,3.9,16933.26]
,显然不能将其解释为有效的NumPy数据类型并导致错误。
答案 1 :(得分:0)
你可以尝试
np.vstack(([31000,28.69,7055.47],[79000,3.9,16933.26]))
答案 2 :(得分:0)
如果在TypeError: data type not understood
参数中定义的名称不是dtype
类型,则尝试创建结构化数组时也会发生str
。>
考虑以下最小示例:
numpy.array([], dtype=[(name, int)])
type(name) is unicode
type(name) is bytes
type(name) is str
,则在Python 2和3中成功(已通过Python 2.7 + numpy 1.14和Python 3.6 + numpy 1.15进行测试)