Python編程數組怎麼創建?4張圖講盡Numpy包所有數組創建函數

2021-01-07 小梁學編程

在Python編程和學習中,特別是在科學計算中,不可避免地要創建大量數組。為了將文本中的數據讀取數組中,你還在編寫讀取程序嗎?Numpy中數組創建函數一條命令就能幫你解決。

Python語言本身沒有數組這種類型,Numpy包幾乎是為Python數組量身定做的,也是Python中經典包之一。Numpy包集成了大量的函數用來創建各種數組,功能很強大,而我們往往忽略了這些函數。由於我們不知道Numpy的函數有哪些功能,而使用額外的代碼來實現,浪費了時間和精力。函數太多,我們很難完全掌握,也沒有必要掌握,但創建函數的組成和功能將對我們使用Numpy具有一定的幫助。

本文使用4張圖介紹Numpy中創建數組的函數組成和功能。將從初始創建數組、現有數據創建、創建有數值範圍的數組,矩陣,記錄數組和字符數組等6個方面展開介紹。為初學者或者有需要的人提供參考。

圖1 Numpy數組創建函數組成

我們使用數組時經常要創建一些初始化值的數組。例如,可能要創建初始化值是999的數組,這時要使用Numpy包的full()函數來創建,另外Numpy還將常用的初始化值是0,1的值進行了單獨集成。可以說full()是一個創建初始化值數組的一般方法。另外還提供了創建不含初始化值的數組函數,empty()。當然這個函數並不是沒有值,只是未初始化,其中的值是內存原有的值,沒有實際意義。另外還提供了創建單位矩陣函數。見圖2。

圖2 Numpy初始創建數組函數組成

在進行科學計算中,大多數時候要將數據寫入數組中。Numpy包在創建數組時集成了文本文件、函數計算、字符串和迭代對象等數據源,可以直接創建數組,使用非常方便,大大簡化代碼的編寫。另外還能創建矩陣以及讓數組在內存中連續存儲,用來提高運算速度等。見圖3.

圖3 Numpy從現有數據創建數組的函數

在創建初始化數組時,有時我們需要創建具有一定數據規則的初始化數組。例如我們想創建數組的值是有序的整數,這要用到arrage()函數。另外Numpy還可以創建等差、等比,柵格化數據,隨機數據等類型。需要說明的是,arange()函數可以說是linspace()函數創建等差序列數組的一種情況,而meshgrid()函數是創建柵格數據的一般函數。

圖4 Numpy創建數值範圍數組的函數組成

Numpy可以進行矩陣運算,可以提取和創建對角矩陣、二維三角陣和範德蒙矩陣。其中tri()是創建三角陣的一般函數。另外Numpy集成了core類,可以實現記錄的創建,字符數組的創建。通過文件,字符串和數組換成記錄。

圖5 Numpy創建矩陣等數組函數

綜上,Numpy包封裝了創建帶有初始化值的數組,根據現有數據創建,創建矩陣、記錄和字符數組等方面函數。Numpy函數使用非常方便,通過Python的IDE工具的提示可以輕鬆使用,所以函數的具體用法我們沒有必要去深究,只是待需要時再學習就可以了。我想這也是我整理這4張圖的意義所在。如果這4張圖對你有用可以收藏和轉發。

相關焦點

  • NumPy ndarray數組的創建
    +Tab鍵查看可使用的函數,如果對其中一些函數的使用不是很清楚,還可以在對應函數加上?,再運行,就可以很方便地看到如何使用函數的幫助信息。輸入np.然後按 Tab 鍵,將出現如下界面:圖1:查看 NumPy 可以使用的函數運行如下命令,便可查看函數 abs 的詳細幫助信息。np.abs?
  • Python之numpy數組學習(一)
    In [3]: import numpy as npIn [4]: a = np.arange(5)In [5]: a.dtypeOut[5]: dtype('int32')上面數組的數據類型為int32,這一般跟你安裝的Python版本有關。不過我安裝的是64位,不知道怎麼回事這裡是int32,後面再檢查下。
  • 使用Python玩轉數據分析(4):掌握NumPy數組及基礎運算
    (4)使用NumPy的empty函數創建數組元素為隨機內容的數組,隨機內容取決於存儲器的狀態;(5)使用NumPy的arange函數創建等間隔的數字數組。使用NumPy的array函數創建數組NumPy的array函數可以創建1維、2維、……、n維數組,array函數要求傳入Python列表數據,傳入Python列表數據的嵌套層次決定了創建數組的維數。下面給出了創建1維和2維數組的案例,更多維數組的創建與2維數組的創建類同。
  • Python NumPy面向數組的編程(附詳細代碼)
    NumPy是用於高性能數組實現的最受歡迎的Python庫:數組操作比列表操作快得多,列表操作在大數據世界中可能會擴大運行時的差異。根據librarys.io(截至2020年4月),超過4千的圖書館依賴NumPy,包括最受歡迎的數據科學軟體包Pandas和SciPy。
  • NumPy數組的屬性和常用創建方法
    1、安裝和導入使用pip安裝numpy:pip install numpy通常約定用如下方式導入numpy,將numpy取別名為np:import numpy as np「牆裂」推薦不要使用from numpy import * 的方法導入所有對象,因為在numpy中存在大量和Python內建對象重名。
  • Python Numpy 數組的基本操作示例
    Numpy是一個通用的數組處理包。它提供了一個高性能的多維數組對象,以及處理這些數組的工具。它是Python科學計算的基本包。
  • Python之numpy數組學習(四)——索引和視圖
    在學習ravel()函數的時候,我看到了視圖的概念,這讓我很驚訝,但是注意,這裡的視圖和資料庫中的視圖不是一樣的。在numpy中,視圖不是只讀的。關鍵在於,當前處理的是共享的數組視圖,還是數組數據的副本。舉例來說,可以取數組的一部分來生成視圖,這意味著,如果先將數組的某部分賦值給一個變量,然後修改原數組中相應位置的數據,那麼這個變量的值也會隨之變化。
  • Python使用ctypes模塊調用DLL函數之C語言數組與numpy數組傳遞
    一般情況下,DLL函數中傳遞C語言類型的數組,在接收到Python語言中時,通常將其轉換為numpy庫裡面的數組類型,這樣做的好處是可以藉助於numpy強大的分析處理功能對數據直接作後續處理。這次通過例子演示下C語言數組到numpy數組之間是怎樣傳遞的。
  • NumPy的數組對象
    1的數組,默認情況下數組元素的類型為float64;(4)使用NumPy的empty函數創建數組元素為隨機內容的數組,隨機內容取決於存儲器的狀態;(5)使用NumPy的arange函數創建等間隔的數字數組。
  • Python數據分析之numpy數組全解析
    1 什麼是numpy2 numpy數組創建2.1 基本方法:np.array()2.2 通用方法:np.ones()、np.zeros()、np.eye()2.3 讀取外部數據3 numpy中數組的數據類型4 numpy中數組的形狀5 索引與切片5.1 按索引取值
  • Python編程還只會NumPy的加減乘除嗎?5張圖講盡所有數學函數
    有時我們知道有這個功能,但無法確定是那個函數,或者不能正確拼寫這個函數,產生了一些困擾。我將使用5張圖介紹Numpy包中數學函數的功能和包含的函數,為初學者或者有需要的人提供資料參考。圖3 Numpy包函數組成在三角函數中主要實現了正三角函數和反三角函數、雙曲三角函數和逆雙曲函數、度與弧度的換算函數和求直角三角形斜邊的函數見圖4。
  • 5張圖帶你了解Numpy包所有的數組操作
    在Python編程和學習中,Numpy包是針對數組開發的一個基礎包,其中封裝了大量的函數,可以實現數組形狀、維度、元素添加與刪除等操作。在Python的IDE工具輔助下,我們可以輕鬆使用Numpy包的函數。
  • Python乾貨 | Python數據分析之numpy數組全解析
    1 什麼是numpy2 numpy數組創建2.1 基本方法:np.array()2.2 通用方法:np.ones()、np.zeros()、np.eye()2.3 讀取外部數據3 numpy中數組的數據類型4 numpy中數組的形狀5 索引與切片5.1 按索引取值
  • 學習Python必知的Numpy函數
    大量的擴展包是 Python 的一大特色,包括各種適用於數據分析的例程和函數。有了這些擴展包,數據科學家們可以不用重複造輪子,節省了很多時間。其中一個重要的數學擴展包就是 NumPy。NumPy 是一個基礎數學包,以其高效的多維數組函數而聞名,適用於線性代數,傅立葉變換,邏輯運算等。
  • Python學習第112課——numpy中數組查找元素和改變元素的小技巧
    【每天幾分鐘,從零入門python編程的世界!】上節我們學習了如何利用index找到ndarray數組中的一些元素,並把找到的元素生成一個新的ndarray。作用:生成在numpy中創建等差數組。stop是結束值,必須要寫,生成的數組的元素不包括結束值step是步長,可以不寫,不寫默認步長是1。numpy的arange()函數和Python的range()函數類似。因此np.arange(3)生成的數組就是[0 1 2]。
  • python數據分析專題 (9):numpy基礎
    NumPy(Numerical Python的簡稱)是高性能科學計算和數據分析的基礎包。NumPy最重要的一個特點就是其N維數組對象(即ndarray),該對象是一個快速而靈活的大數據集容器。新手可能不理解這句話的含義,這個需要慢慢去理解 。總之,知道numpy是python數據分析最重要的基礎包就可以了。
  • Python之numpy數組學習(三)
    縱向拆分:vsplit()函數將沿著縱軸方向分解數組。當參數axis=0時,split()函數也會沿著縱軸方向分解數組。深向拆分:dsplit()函數會沿著深度方向分解數組。itemsize屬性可以返回數組中各個元素所佔用的字節數。nbytes屬性存儲整個數組所需的字節數量。這個屬性的值正好是itemsize和size屬性值的積。T屬性的作用和transpose()函數相同。如果數組的秩(rank)小於2,那麼所得只是一個數組的視圖。對於numpy來說,複數用j表示。
  • 如何獲取numpy數組的真實地址?如何與ctypes數組共享內存?
    在Python編程中,numpy是一個很好用的擴展程序庫,將其與SciPy庫和 Matplotlib繪圖庫一起使用,可構成一個強大的類似於Matlab的科學計算環境,有助於我們通過 Python 學習數據科學或者機器學習。在Python中,當你定義了一個numpy類型的數組後,它內部元素的真實地址如何獲得呢?
  • Python的武器庫05:numpy模塊(下)
    說到程式語言python,有一個著名的格言"餘生太短,只用python"。如果要分析為什麼會存在這麼一句格言?python的語法並不簡單,有複雜難懂的部分,之所以有這樣一句格言,是因為python中有很多強大的模塊,就像一個武器庫。
  • 數據分析入門 | numpy基礎:數組和矢量計算
    1.Jupyter notebook可以通過tab鍵補全代碼     例一:聲明了一個自定義函數後,要調用函數時,可以按tab鍵,jupyter notebook會直接補全      例二:tab鍵查找需要使用的函數,當引入numpy包後,需要使用裡面自帶的方法時,可以按tab鍵查找補全。2.使用?