今天我們繼續學習一下Numpy庫的學習 廢話不多說 ,開始講 比如我們現在想創建一個0-14這樣一個15位的數組 可以直接寫,但是很麻煩,Numpy中就給我們了一個方便創建的方法 numpy中有一個arange函數 運行這段代碼以後,可以得到如下結果 這裡我們可以看到,我先列印了一下,np.aran ...
今天我們繼續學習一下Numpy庫的學習
廢話不多說 ,開始講
比如我們現在想創建一個0-14這樣一個15位的數組
可以直接寫,但是很麻煩,Numpy中就給我們了一個方便創建的方法
numpy中有一個arange函數
import numpy as np print(np.arange(15)) a = np.arange(15).reshape(3,5) a
運行這段代碼以後,可以得到如下結果
這裡我們可以看到,我先列印了一下,np.arange(15)這個結果,產生一個0-14的15位數組
然後我們將這個數據,變換成一個矩陣
可以使用reshape這個函數,將我們生成的有序數組,按照規定的方式變換成矩陣
reshape(3,5)這裡的意思是,你將要生成的矩陣,是幾行幾列,這裡是3行5列
將你的數組點上shape,可以看到你的矩陣是一個3行5列的矩陣
這個shape也是我們在使用numpy中,經常需要用到的一個函數
下麵在講一下另外一個函數
ndim,它的意思是,查看你所造的矩陣的維度是多少
可以看到,我們剛剛所造的矩陣的維度是2
如何查看當前所造的矩陣的tpey類型是什麼
它是一個int32的數據類型
size這個函數,則是說明,我們當前的矩陣的大小是15
也就是矩陣有15個元素
接下來我們講講在Numpy中,矩陣的初始化操作
np.zeros((3,4))
這行代碼,就將我們的矩陣進行了初始化的操作
也就是初始化一個3行4列的矩陣,而矩陣中的元素全部為0
這裡註意的是,傳參數一定是個元組的形式,而不是直接傳3,4進去,這裡需要註意一下
還有一點,我們可以看到,我們生成的矩陣都是0.的類型,這說明Numpy給我們
生成的矩陣都是float類型
比如,我們創建一個都是1的矩陣
np.ones((2,3,4),dtype = np.int32)
我們這裡創建一個三維矩陣,傳入dtype參書,類型為int32
可以的到如下矩陣
現在我們創建的值,都是為1的,我們可以指定dtype,生成你想要的數據類型
我們繼續說,前面我們講到,創建一個連續的數據
那麼我們如果想從,某一個數開始, 到某個數結束,每隔多少,我們變換某個數據
這樣可不可以呢?
我們可以通過下麵的例子說明
可以看到這個例子,我們的一個數是,起始值,中間的數是終止值,而最後一個數
是說,我們每次要隔幾。也就相當於要加幾。
再比如:
每次加0.5,得到上面 的矩陣
下麵在說說,numpy中的一個產生隨機數的模塊,也是比較常用的模塊,random模塊
這裡註意,是random.random,也就是說,我們在構造,隨機初始化矩陣是0-1之間的一個2行3列矩陣
下麵在說另外一個函數,linspace
可以看到這段代碼,我們是從0開始,到2倍的pi結束,在這其中,隨機的生成100個數據
也就是說,從0開始,到2π結束,在這中間隨機取100個值
下麵我們在說說,numpy中的加減乘除的操作
a = np.array([(20,30,40,50)]) b = np.arange(4) print(a) print(b) c = a - b print(c) c = c -1 print(c) b**2 print(b**2) print(a<35)
我們這裡定義了一個array數組,又定義了一個b,arange(4)也就是[0,1,2,3]
那麼,我先來看看如何相減,c=a-b
得到的結果是
[[20 29 38 47]]
也就是說,numpy中,對於相同緯度的東西進行相減,也就是對應位置上的相減
那麼我們接著讓C減去一個沒有維度的,單獨的數值,是什麼情況
[[19 28 37 46]]
得到這樣一個結果,也就是說,所有的元素都進行相減操作
那麼我們讓b做一個平方操作,可以看到,b的所有元素都進行了平方操作。
那麼對於做大小對比的操作,我們可以看到,對每一個元素都進行了大小判斷,是不是小於35,返回True False
我們下來,看看矩陣操作
用a*b,相當於求內積
a.dot(b),相當於行乘以列的操作,1*2+1*3=5,以此類推得到
[[5 4] [3 4]]
print(np.dot(a,b)),也是進行一個矩陣的相乘,兩種用法都可以實現。得到我們想要矩陣。
好的,今天就先講到這裡!感覺各位閱讀,歡迎點贊轉發!謝謝各位支持!!