我們今天繼續學習一下Numpy庫 接著前面幾次講的,Numpy中還有一些標準運算 exp表示求e的冪次方,比如上面看到的,e的0次方為1,e的2次方,2.7幾,以此類推 我們可以看到,exp就是求e的多少次方 而sqrt則表示根號,也就是進行開方運算 我們可以得到,0的開方為0,1 的開方為1,2的 ...
我們今天繼續學習一下Numpy庫
接著前面幾次講的,Numpy中還有一些標準運算
a = np.arange(3) print(a) print(np.exp(a)) print(np.sqrt(a))
exp表示求e的冪次方,比如上面看到的,e的0次方為1,e的2次方,2.7幾,以此類推
我們可以看到,exp就是求e的多少次方
而sqrt則表示根號,也就是進行開方運算
我們可以得到,0的開方為0,1 的開方為1,2的開方為1.4
看下麵的代碼:
a = np.floor(10*np.random.random((3,4))) print(a) print("********") print(a.ravel()) print("********") a.shape = (6,2) print(a) print("********") print(a.T)
我們這裡隨機創建一個3*4的矩陣,都是float類型的
我們可以對數據向下取整,那麼需要使用np.floor函數
我們之前說過,可以用shape,函數將一個向量變換成矩陣
ravel,則是將一個矩陣變換成一個向量形式
變換成向量以後,我又想變換回矩陣
我們直接使用a的shape屬性即可變換
如果我們需要將矩陣進行矩陣轉置T函數便可,我們看看得到的結果
那麼,如果我們想要將矩陣進行拼接,應該如何做到呢?
a = np.floor(10*np.random.random((2,2))) b = np.floor(10*np.random.random((2,2))) print(a) print("*******") print(b) print("*******") print(np.vstack((a,b)))
使用vstack函數,將另個矩陣傳入進去,即可將兩個矩陣按照行的方式進行拼接
上面這個方式是對行進行的拼接
如果我們不想按照行的方式進行拼接,使用列的方式進行,那麼需要使用hstack函數
可以看到,成功將列進行了拼接
a = np.floor(10*np.random.random((2,12))) print(a) print("*******") print(np.hsplit(a,3)) print("*******") print(np.hsplit(a,(3,4))) a = np.floor(10*np.random.random((12,2))) print("********") print(a) np.vsplit(a,3)
我們在講講如何進行拆分
如上述代碼所示,hsplit(a,3)表示,我們要講a這個矩陣進行拆分
按照平均的切分成3份,這種切分方式是按照列進行切分
那麼如果我們不想進行平均切分
hsplit(a,(3,4)),那麼這種方式就是在第3列的切一刀,第4列切一刀
上面講到的都是按照列進行切分,如何按照行進行切分
vsplit(a,3),則是按照行進行切分,我們來看看結果如下
今天的學習,先到這裡,明天我們繼續學習Numpy庫
感覺各位閱讀,歡迎點贊轉發,感謝各位支持!!謝謝!!