【634】ndarray 提取行列进行任意变换 & 相关 ndarray 操作

[1] Numpy系列之ndarray数组的维度变换,拼接,分割和复制

  调整行,通过 [[]] 来实现

>>> arr1
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

# 第 0 行 与 第 2 行 调换
>>> arr1[[2,1,0]]
array([[6, 7, 8],
       [3, 4, 5],
       [0, 1, 2]])

# 任意选择
>>> arr1[[2,1,0,0,1,2]]
array([[6, 7, 8],
       [3, 4, 5],
       [0, 1, 2],
       [0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

  调整列,通过 [:, []] 来实现

>>> arr1
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

# 第 0 列 与 第 2 列 调换
>>> arr1[:, [2,1,0]]
array([[2, 1, 0],
       [5, 4, 3],
       [8, 7, 6]])

# 任意选择
>>> arr1[:, [2,1,0,0,1,2]]
array([[2, 1, 0, 0, 1, 2],
       [5, 4, 3, 3, 4, 5],
       [8, 7, 6, 6, 7, 8]])
原文地址:https://www.cnblogs.com/alex-bn-lee/p/15109813.html