python+numpy交換數組的兩行或者兩列


其實很簡單:

  1. 交換兩行:
import numpy as np
arr=np.arange(16).reshape(4,4)
# 結果如下
>>>array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])

# [0,1]表示為第一行、第二行,逗號前是表示行的參數,逗號后的表示列,冒號表示所有列
arr[[0,1],:]=arr[[1,0],:]
print(arr)
# 結果如下
>>>array([[ 4,  5,  6,  7],
       [ 0,  1,  2,  3],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])

如果不想對原數組進行修改,可以使用copy函數:

arr_new=arr.copy(arr)

再使用arr_new進行操作

  1. 交換兩列
arr_new=arr[:, [1,0,2,3]]
print(arr_new)
# 結果如下
>>>array([[ 1,  0,  2,  3],
       [ 5,  4,  6,  7],
       [ 9,  8, 10, 11],
       [13, 12, 14, 15]])


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM