复制numpy数组

时间:2017-05-19 11:24:50

标签: python numpy sampling

如何将第一个元素和第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]}

1 个答案:

答案 0 :(得分: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所述,如果您想要制作此切片数组的实际副本,可以使用numpy.copy确保修改不会影响原始数组

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