NumPy中的3D数组索引可减少行数

时间:2015-07-03 15:59:12

标签: python arrays numpy

我有一个形状为:

的3d数组
data = (5433L, 3543L, 3L)

我想通过从末尾减去100行来创建新数组:

ans = (5433L-100L, 3543L, 3L)

怎么做?

1 个答案:

答案 0 :(得分:2)

您可以使用切片在数组结束前停止100行:

ans = data[:-100]

使用这种表示法,NumPy仅切割data的第一维:其他维度保持不变(即它等同于data[:-100, :, :])。

注意ans仍然与data共享相同的底层内存:对一个阵列所做的任何更改都将在另一个阵列中看到。如果您希望ans成为内存中的全新数组,则需要明确复制:

ans = data[:-100].copy()