从 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 数组的一维切片 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Numpy学习二:数组的索引与切片

根据张量流中给定的序列长度数组对 3D 张量进行切片

Numpy - 从数组中切片二维行或列向量

基于 2D 数组的 3D numpy 切片的平均值

NumPy:在 3D 切片中使用来自 argmin 的 2D 索引数组

python数据分析基础之Numpy库详解