我想对一个多维数组进行赋值,其中数组的每个元素都是 3 个短整数:
a = ndarray([3,3,3], dtype='u2,u2,u2')
a[2,2,2] = [1,2,3]
Traceback (most recent call last): File "", line 1, in a[2,2,2] = [1,2,3] TypeError: expected a readable buffer object
我将使用一个大数组,并希望直接索引到数组中以提高性能。在 python 中执行此操作的好方法是什么?
感谢您对如何执行此操作有任何见解?
请您参考如下方法:
dtype='u2,u2,u2' 数组的元素是三个短裤的元组,而不是列表三条短裤。所以:
a[2,2,2] = (1,2,3)
(括号当然不是必需的,但我用它们来表明这是一个元组。)
如果你愿意,你也可以传递一个数组:
a[2,2,2] = np.array([1,2,3])
当然这里的错误信息肯定可以更好……它实际上提示的是比你预期的更深层次的东西,它不能帮助你调试问题。
