Skip to main content
 首页 » 编程设计

python之复制 numpy 数组的每第 n 列

2025年05月04日23cmt

如何将第一个元素和第 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 所述如果你想制作这个切片数组的实际副本,你可以使用 numpy.copy确保修改不会影响原始数组

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