我正在使用this book学习numpy。但是,在其中一个作业中,我遇到了这个错误:
TypeError: expected a readable buffer object
这是我的代码:
record = dtype([('name', 'str_', 40), ('stock', 'int32'), ('price', 'float32')])
items = array(['Book A', 5, 29.95], dtype=record)
答案 0 :(得分:2)
当你使用numpy数组时,你应该创建一个元组列表而不是列表元组。 Numpy数组需要一个元组列表。希望,以下解决您的问题。
>>> import numpy as np
>>> record = np.dtype([('name', 'str_', 40), ('stock', 'int32'), ('price', 'float32')])
>>> var=[('Book A', 5, 29.95)]
>>> items = np.array(var, dtype=record)
>>> items
array([('Book A', 5, 29.950000762939453)],
dtype=[('name', '|S40'), ('stock', '<i4'), ('price', '<f4')])
>>>