复制 numpy 数组的每第 n 列

Copy every nth column of a numpy array

如何复制另一个数组中第 n 列的第一个元素和每个元素?

例如,假设您有以下数组:

array{[1,2,3,4,5],
      [1,2,3,4,5],
      [1,2,3,4,5]}

我想选择第一个元素和每个第二个元素,所以我会:

array{[1,3,5],
      [1,3,5],
      [1,3,5]}

您可以对列使用切片

>>> a
array([[1, 2, 3, 4, 5],
       [1, 2, 3, 4, 5],
       [1, 2, 3, 4, 5]])

>>> a[:, ::2]
array([[1, 3, 5],
       [1, 3, 5],
       [1, 3, 5]])

@tobias_k if you want to make an actual copy of this sliced array, you can use numpy.copy 所述,以确保修改不会影响原始数组

>>> np.copy(a[:, ::2])
array([[1, 3, 5],
       [1, 3, 5],
       [1, 3, 5]])