Python Numpy 實現(xiàn)交換兩行和兩列的方法
numpy應(yīng)該是一個和常用的包了,但是在百度查了很久,也沒有查到如何交換兩列(交換兩行的有),所以查看了其他的文檔,找到了方法。
交換兩行
比如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
運行結(jié)果卻為:
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
運行結(jié)果為:
array([[1, 2, 3], [1, 6, 5], [2, 3, 4], [9, 3, 4]])
結(jié)果正常,那還有沒有更簡單的方法呢,例如swap之類的,經(jīng)查閱找到一種最簡單的方法:
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 實現(xiàn)交換兩行和兩列的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python根據(jù)歐拉角求旋轉(zhuǎn)矩陣的實例
今天小編就為大家分享一篇Python根據(jù)歐拉角求旋轉(zhuǎn)矩陣的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01使用NumPy和pandas對CSV文件進(jìn)行寫操作的實例
今天小編就為大家分享一篇使用NumPy和pandas對CSV文件進(jìn)行寫操作的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python移動測試開發(fā)subprocess模塊項目實戰(zhàn)
這篇文章主要為大家介紹了Python移動測試開發(fā)subprocess模塊項目實戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07python輸出當(dāng)前目錄下index.html文件路徑的方法
這篇文章主要介紹了python輸出當(dāng)前目錄下index.html文件路徑的方法,涉及Python操作目錄的相關(guān)技巧,需要的朋友可以參考下2015-04-04Pytorch的torch.nn.embedding()如何實現(xiàn)詞嵌入層
這篇文章主要介紹了Pytorch的torch.nn.embedding()如何實現(xiàn)詞嵌入層問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02