我想查看一个包含整个行的 dtype 的对象数组:
data = np.array([['a', '1'], ['a', 'z'], ['b', 'a']], dtype=object)
dt = np.dtype([('x', object), ('y', object)])
data.view(dt)
我收到一个错误:
TypeError: Cannot change data-type for object array.
我尝试了以下解决方法:
dt2 = np.dtype([('x', np.object, 2)])
data.view()
data.view(np.uint8).view(dt)
data.view(np.void).view(dt)
所有情况都会导致相同的错误。有什么方法可以查看具有不同 dtype 的对象数组吗?
我还尝试了一种更通用的方法(仅供参考,因为它在功能上与上面显示的相同):
dt = np.dtype(','.join(data.dtype.char * data.shape[1]))
dt2 = np.dtype([('x', data.dtype, data.shape[1])])