a[j,:] = a[maxindex,:] #注意這樣是乙個很低階的錯誤!這樣只是賦值
我們很容易想起python中的兩個值交換一句搞定不用引入中間變數
a, b = b, a
但在numpy的array或matrix中,這樣是錯誤的
需要使用選中兩行來互換:
a[[i, j], :] = a[[j, i], :] # 實現了第i行與第j行的互換
下面看乙個例項:
importnumpy as np
m = np.mat([[1. ,2 ,-1],[2,1,-2],[-3,1,1]])
print("a="
,a)a[[0,2],:] = a[[2,0],:]
print("a="
,a)#
-------------------------
a= [[ 1. 2. -1.]
[ 2. 1. -2.]
[-3. 1. 1.]]
a= [[-3. 1. 1.]
[ 2. 1. -2.]
[ 1. 2. -1.]]
刪去numpy array 中的全零行或列
首先求出全零行 列的index,放在index list中。本例中全零行和全零列index相同,故index list相同。由index list構建乙個一維的 長度等於array的行數或列數的bool array,使得要保留的行 列所對應的元素為true,要去掉的元素為false。之後通過如下 刪...
Numpy array建立 使用
array函式 語法 numpy.array object,dtype none,copy true,order none,subok false,ndmin 0 其中 object 是陣列或巢狀的數列 dtype 是陣列元素的資料型別,可選,預設為浮點型 copy 是設定是否需要複製,預設需要 o...
numpy array索引和切片
一維陣列很簡單,基本和列表一致。它們的區別在於陣列切片是原始陣列檢視。這就意味著,如果做任何修改,原始都會跟著修改。這也意味著,如果不想更改原始陣列,我們需要進行顯式的複製,從而得到它的副本。copy import numpy as np arr np.arange 10 arr輸出 array 0...