今天來繼續學習一下Numpy庫的使用 接著昨天的內容繼續 在Numpy中,我們如果想要進行一個判斷使用“==” 我們來看下麵的代碼 我們來看看上面的代碼,這段代碼表示的是什麼意思呢? vector == 10 表示的是,當前的array當中所有的元素都會進行判斷 是否等於10 我們可以看到,運行結果 ...
今天來繼續學習一下Numpy庫的使用
接著昨天的內容繼續
在Numpy中,我們如果想要進行一個判斷使用“==”
我們來看下麵的代碼
vector = np.array([5,10,15,20,25])
vector == 10
我們來看看上面的代碼,這段代碼表示的是什麼意思呢?
vector == 10 表示的是,當前的array當中所有的元素都會進行判斷
是否等於10
我們可以看到,運行結果為上圖所示,只有第2個值為True 那麼這裡可以看到是對每一個值都進行了判斷
那麼矩陣操作也是一樣的
matrix = np.array([ [1,2,3], [4,5,6], [7,8,9], ]) matrix == 5
可以看到運行結果,只有第2行,第2列值為5的位置,為True,其他都為False
當然得到的判斷結果,是一個布爾類型的
那麼我們如果現在已經對判斷熟悉了,我們已經做了判斷
但是我想把這個元素取出來應該如果操作呢?
vector = np.array([5,10,15,20,25]) index = (vector == 10) print (index) print (vector[index])
我們先將數組,進行判斷,讓後將這個判斷結果存入一個值中,作為一個索引
列印結果如下
結果等於10,說明可以幫我們把True返回,False值直接過濾掉
當然在矩陣操作中也是一樣的
matrix = np.array([ [1,2,3], [4,5,6], [7,8,9], ]) i5 = (matrix[:,1]==5) print(i5) print(matrix[i5,:])
Numpy中也有與和或這樣的邏輯運算,比我我們要計算
vector = np.array([5,10,15,20,25]) equal = (vector == 10)&(vector==5) print(equal)
這裡可以看出,與運算中,既要等於10,又要等於5,在返回的結果中,全為False
需要判斷是否同時滿足條件
在看一下或的關係
vector = np.array([5,10,15,20,25]) equal = (vector == 10)|(vector==5) print(equal)
結果可以看出,前面兩個元素,都滿足了或的關係,返回True
接下來我們說下如何替換滿足關係的值
vector = np.array([5,10,15,20,25]) equal = (vector == 10)|(vector==5) vector[equal]=30 print(vector)
將滿足條件的值進行替換,返回替換後的向量
矩陣操作如下
matrix = np.array([ [1,2,3], [4,5,6], [7,8,9], ]) i5 = matrix[:,1]==5 print(i5) matrix[i5,1] = 10 print(matrix)
運行上述代碼,我們可以將中間行5的值,替換為10
接下來我們在講下在Numpy中如何做類型轉換的
vector = np.array([5,10,15,20,25]) print(vector.dtype) print(vector) vector = vector.astype(float) print (vector.dtype) print(vector)
我們先將一個,類型為int的向量,的dtype值列印出來
在將這個向量進行astype的轉換,轉換為float值
結果可以看到,原來的int32類型,被轉換成了float64類型
在說下,比如我們通常需要進行數學運算,進行最大值, 最小值得求值
vector = np.array([5,10,15,20,25])
vector.min()
取一個最小值
vector = np.array([5,10,15,20,25])
vector.max()
取一個最大值
如何對矩陣,按照行,或者按照列的方式,進行求和操作
可以看到,我們指定維度為1,也就是按照行的方式進行一個求和
matrix = np.array([ [1,2,3], [4,5,6], [7,8,9], ]) matrix.sum(axis=1)
axis =1 為按照行的方式進行求和,axis = 0 按照列的方式進行求和
好的,今天就先講到這裡,感謝各位閱讀~~歡迎點贊轉發!下次我們繼續講講Numpy中的矩陣操作