从 3D Numpy 数组的一维切片 [重复]

Posted

技术标签:

【中文标题】从 3D Numpy 数组的一维切片 [重复]【英文标题】:Slicing from one dimension of 3D Numpy array [duplicate] 【发布时间】:2021-03-19 16:55:18 【问题描述】:

我有 (1000, 256, 256) 形状的 3D 数组。我想从 x 维度(包含 1000 个项目)中删除第 100-200 个条目。写入 [0:100, 101:1001] 会从第二维度(包含 256 个项目)切入。

如何索引它?

【问题讨论】:

这能回答你的问题吗? How to crop an image in OpenCV using Python 我不小心点击了错误的复制链接。正确的链接和描述应该是:deleting rows in numpy array 【参考方案1】:

你有两个选择。切片两次并手动连接:

arr = np.random.rand(1000, 256, 256)

arr2 = np.vstack((arr[:100], arr[200:]))

或者使用np.delete:

arr3 = np.delete(arr, slice(100, 200), axis=0)

两个结果相等:

np.all(arr2 == arr3)
# Out: True

【讨论】:

以上是关于从 3D Numpy 数组的一维切片 [重复]的主要内容,如果未能解决你的问题,请参考以下文章