在Python編程和學習中,特別是在科學計算中,不可避免地要創建大量數組。為了將文本中的數據讀取數組中,你還在編寫讀取程序嗎?Numpy中數組創建函數一條命令就能幫你解決。
Python語言本身沒有數組這種類型,Numpy包幾乎是為Python數組量身定做的,也是Python中經典包之一。Numpy包集成了大量的函數用來創建各種數組,功能很強大,而我們往往忽略了這些函數。由於我們不知道Numpy的函數有哪些功能,而使用額外的代碼來實現,浪費了時間和精力。函數太多,我們很難完全掌握,也沒有必要掌握,但創建函數的組成和功能將對我們使用Numpy具有一定的幫助。
本文使用4張圖介紹Numpy中創建數組的函數組成和功能。將從初始創建數組、現有數據創建、創建有數值範圍的數組,矩陣,記錄數組和字符數組等6個方面展開介紹。為初學者或者有需要的人提供參考。
我們使用數組時經常要創建一些初始化值的數組。例如,可能要創建初始化值是999的數組,這時要使用Numpy包的full()函數來創建,另外Numpy還將常用的初始化值是0,1的值進行了單獨集成。可以說full()是一個創建初始化值數組的一般方法。另外還提供了創建不含初始化值的數組函數,empty()。當然這個函數並不是沒有值,只是未初始化,其中的值是內存原有的值,沒有實際意義。另外還提供了創建單位矩陣函數。見圖2。
在進行科學計算中,大多數時候要將數據寫入數組中。Numpy包在創建數組時集成了文本文件、函數計算、字符串和迭代對象等數據源,可以直接創建數組,使用非常方便,大大簡化代碼的編寫。另外還能創建矩陣以及讓數組在內存中連續存儲,用來提高運算速度等。見圖3.
在創建初始化數組時,有時我們需要創建具有一定數據規則的初始化數組。例如我們想創建數組的值是有序的整數,這要用到arrage()函數。另外Numpy還可以創建等差、等比,柵格化數據,隨機數據等類型。需要說明的是,arange()函數可以說是linspace()函數創建等差序列數組的一種情況,而meshgrid()函數是創建柵格數據的一般函數。
Numpy可以進行矩陣運算,可以提取和創建對角矩陣、二維三角陣和範德蒙矩陣。其中tri()是創建三角陣的一般函數。另外Numpy集成了core類,可以實現記錄的創建,字符數組的創建。通過文件,字符串和數組換成記錄。
綜上,Numpy包封裝了創建帶有初始化值的數組,根據現有數據創建,創建矩陣、記錄和字符數組等方面函數。Numpy函數使用非常方便,通過Python的IDE工具的提示可以輕鬆使用,所以函數的具體用法我們沒有必要去深究,只是待需要時再學習就可以了。我想這也是我整理這4張圖的意義所在。如果這4張圖對你有用可以收藏和轉發。