日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python Numpy 實現交換兩行和兩列的方法

系統 2125 0

numpy應該是一個和常用的包了,但是在百度查了很久,也沒有查到如何交換兩列(交換兩行的有),所以查看了其他的文檔,找到了方法。

交換兩行

比如a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]]),想要交換第二行和第三行,看起來很簡單,直接寫代碼:

            
import numpy as np

          
            
a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]])
tmp = a[1]
a[1] = a[2]
a[2] = tmp
          

運行結果卻為:

            
array([[1, 2, 3],
  [1, 6, 5],
  [1, 6, 5],
  [9, 3, 4]])

          

原因是因為tmp = a[1]并非a[1]的一個copy,而是一個“別名”,那么我們改寫成:

            
import numpy as np
          
            
a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]])
tmp = np.copy(a[1])
a[1] = a[2]
a[2] = tmp
          

運行結果為:

            
array([[1, 2, 3],
  [1, 6, 5],
  [2, 3, 4],
  [9, 3, 4]])
          

結果正常,那還有沒有更簡單的方法呢,例如swap之類的,經查閱找到一種最簡單的方法:

            
import numpy as np

          
            
a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]])
a[[1,2], :] = a[[2,1], :]
          

交換兩列

和上面類似:

            
a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]])
a[:,[1,0,2]]
a
          

得到:

            
array([[1, 2, 3],
  [2, 3, 4],
  [1, 6, 5],
  [9, 3, 4]])
          

以上這篇Python Numpy 實現交換兩行和兩列的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 东阳市| 祁东县| 巴中市| 朝阳县| 蓬溪县| 犍为县| 高唐县| 金溪县| 赣榆县| 康平县| 江油市| 华安县| 吉林市| 昭觉县| 双辽市| 江口县| 宽城| 桑植县| 彩票| 连城县| 万山特区| 邹平县| 永城市| 新晃| 策勒县| 红桥区| 夏津县| 宿松县| 汕尾市| 泰和县| 筠连县| 巴青县| 绥阳县| 常宁市| 高淳县| 丰县| 平罗县| 永登县| 琼海市| 上饶市| 大同县|