【发布时间】:2023-02-04 04:15:13
【问题描述】:
我有一个 numpy 数组的列表mask_arr,列表的元素是 numpy 数组,如下所示:
mask_arr[0][:]
array([[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
...,
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255]], dtype=uint8)
如何在没有 dtype 部分的情况下只获取二维数组:
[[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
...,
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255]]
原因是我收到以下错误:
im = mask_arr[i]
*** TypeError: only integer scalar arrays can be converted to a scalar index
【问题讨论】:
-
无法删除
dtype,它是数组的基本组成部分。你能解释一下i是什么吗?从错误消息来看,它显然是一个数组,因为您不能用数组索引列表。 -
@RoySmart
i是for循环的索引 -
您可以发布其余代码吗?从错误消息来看,
i似乎是一个数组,而不是单个整数。 -
@RoySmart 感谢您提到这一点。我可以纠正它
标签: python arrays list numpy numpy-ndarray