Python NumPy 教程:通過示例學習 Python Numpy

已發表: 2020-03-24

如果您已經學習 Python 一段時間,那麼您一定遇到過 NumPy。 你一定想知道它是什麼以及為什麼它如此重要。 在這個Python Numpy 教程中,您將了解相同的內容。 您將了解 NumPy 以及 NumPy 數組及其函數。

對於現代程序員來說,掌握 Python 是必要的。 這個 Python NumPy 教程將幫助您更好地理解 Python。 它非常詳細,因此我們建議將此頁面添加到您的書籤中以供將來參考。

學習世界頂尖大學的數據科學在線課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

目錄

什麼是 Python NumPy?

NumPy 代表“數字 Python”。 正如您已經猜到的那樣,它專注於數值運算和計算。 Numpy 是一個 Python 包,是科學計算的主要庫。 它具有 n 維數組對象和工具來集成其他主要語言(例如 C)。您可以將 NumPy 數組用作數據的巨大多維容器。

什麼是 NumPy 數組?

NumPy 數組是一個奇妙的 n 維數組對象。 它有行和列,您可以使用它來訪問 Python 列表的元素。 您可以對 NumPy 數組執行許多操作。 我們在本文後面討論了它們,但在此之前,您必須了解如何在系統中安裝 NumPy。 如果不安裝它,您將無法使用它。

如何安裝 NumPy?

您必須轉到命令提示符並輸入“pip install numpy”來安裝 Python NumPy。 安裝完成後,您必須轉到 IDE 並通過“import numpy as np”導入 numpy。 這就是您在系統上安裝 Numpy 的方式。

您可以通過以下代碼在 NumPy 中輕鬆創建數組:

1 將 numpy 導入為 np

2 a=np.array([1,2,3])

3 打印(一)

上述代碼的輸出 - [1 2 3]

上面的代碼會給你一個一維數組。 如果要創建多維數組,則必須編寫類似於以下示例的內容:

1 a=np.array([(1,2,3),(4,5,6)])

2 打印(一)

上述代碼的輸出 - [[ 1 2 3]

[4 5 6]]

閱讀更多:為初學者準備的 25 個令人興奮的 Python 項目創意和主題

NumPy 中的操作

Python NumPy 有很多操作。 它們都執行特定的功能。 以下是這些功能的簡要說明:

物品尺寸:

借助此函數,您可以找出數組元素的字節大小。 看看下面的例子:

1 將 numpy 導入為 np

2 a = np.array([(1,2,3)])

3 打印(a.itemsize)

上述代碼的輸出 - 4

ndim:

ndim 函數可幫助您找到數組的維度。 您應該知道您可以擁有一維、二維以及三維數組。 下面是這個函數的一個例子:

1 將 numpy 導入為 np

2 a = np.array([(1,2,3),(4,5,6)])

3 打印(a.ndim)

上述代碼的輸出 - 2

重塑:

借助重塑操作,您可以更改數組中存在的行數和列數。 假設一個數組有三列兩行。 通過重塑,您可以將它們更改為 2 列和 3 行。 通過以下示例查看它的實際效果:

1 將 numpy 導入為 np

2 a = np.array([(8,9,10),(11,12,13)​​])

3 打印(一)

4 a=a.reshape(3,2)

5 打印(一)

上述代碼的輸出 - [[ 8 9 10] [11 12 13]] [[ 8 9] [10 11] [12 13]]

切片:

通過使用切片操作,您可以從所需的數組中提取一組特定的元素。 換句話說,您可以“切片”數組並獲得其中的一部分。 假設您有一個數組並想從中提取特定元素,您將按以下方式進行操作:

1 將 numpy 導入為 np

2 a=np.array([(1,2,3,4),(3,4,5,6)])

3 打印(a[0,2])

上述代碼的輸出 - 3

在上面的示例中,第一個數組的索引為 0,而第二個數組的索引為 1。因此,代碼說它應該打印第一個數組的第二個元素(索引為 0)。 假設您需要數組的第一個和第零個索引中的第二個元素。 然後我們將使用以下代碼:

1 將 numpy 導入為 np

2 a=np.array([(1,2,3,4),(3,4,5,6)])

3 打印(a[0:,2])

上述代碼的輸出——[3 5]

另請閱讀:印度的 Python 開發人員薪水

數據類型:

使用 dtype 函數,您可以選擇查找數組元素的數據類型。 它為您提供所需組件的數據類型和大小。 看看下面的例子,看看它是如何工作的:

1 將 numpy 導入為 np

2 a = np.array([(1,2,3)])

3 打印(a.dtype)

上述代碼的輸出——int32

您也可以使用“形狀”和“大小”函數來查找數組的形狀和大小。 看看我們的 Python NumPy 教程的這個例子,以正確理解這些函數:

1 將 numpy 導入為 np

2 a = np.array([(1,2,3,4,5,6)])

3 打印(a.size)

4 打印(a.shape)

上述代碼的輸出 - 6 (1,6)

林空間

在 linspace 操作的幫助下,您可以根據您提到的間隔獲得均勻分佈的數字。 linspace 函數有其用途,下面是一個如何使用它的示例:

1 將 numpy 導入為 np

2 a=np.linspace(1,3,10)

3 打印(一)

上述代碼的輸出 - [ 1. 1.22222222 1.44444444 1.66666667 1.88888889 2.11111111 2.33333333 2.55555556 2.77777778 3. ]

平方根和標準差

Python NumPy 使您能夠執行各種數學運算。 其中一項操作是求出所需數組的平方根。 您還可以獲得 NumPy 數組的標準差。 這是一個詳細的示例,可以在這方面為您提供幫助:

1 將 numpy 導入為 np

2 a=np.array([(1,2,3),(3,4,5,)])

3打印(np.sqrt(a))

4打印(np.std(a))

上述代碼的輸出——[[ 1. 1.41421356 1.73205081]

[1.73205081 2.2.23606798]]

1.29099444874

最大/分鐘

也可以通過具體操作求出數組的最大值、最小值、和。 找到最大值和最小值可以幫助您執行複雜的操作。 以下是如何找到您擁有的數組的最大值、最小值和總和的方法:

1 將 numpy 導入為 np

2 a= np.array([1,2,3])

3 打印(a.min())

4打印(a.max())

5打印(a.sum())

上述代碼的輸出 - 1 3 6

水平和垂直堆疊

您可能想要組合兩個數組但不添加它們,即您可能只想連接它們。 為此,您可以垂直或水平堆疊它們。 這是執行此操作的示例代碼:

1 將 numpy 導入為 np

2 x= np.array([(1,2,3),(3,4,5)])

3 y= np.array([(1,2,3),(3,4,5)])

4打印(np.vstack((x,y)))

5打印(np.hstack((x,y)))

上述代碼的輸出 - [[1 2 3] [3 4 5] [1 2 3] [3 4 5]]

[[1 2 3 1 2 3] [3 4 5 3 4 5]]

閱讀更多: Python 中的運算符:算術初學者指南

添加

您也可以添加 NumPy 數組。 除了加法之外,您還可以執行兩個矩陣的減法、除法和乘法運算。 以下是 Python NumPy 中的加法示例:

1 將 numpy 導入為 np

2 x= np.array([(1,2,3),(3,4,5)])

3 y= np.array([(1,2,3),(3,4,5)])

4 打印(x+y)

上述代碼的輸出 - [[ 2 4 6] [ 6 8 10]]

就像我們之前提到的,您也可以對 NumPy 數組執行其他數學運算,包括減法和除法。 這是如何做:

1 將 numpy 導入為 np

2 x= np.array([(1,2,3),(3,4,5)])

3 y= np.array([(1,2,3),(3,4,5)])

4 打印(xy)

5 打印(x*y)

6 打印(x/y)

上述代碼的輸出——[[0 0 0] [0 0 0]]

[[ 1 4 9] [ 9 16 25]]

[[ 1. 1. 1.] [ 1. 1. 1.]]

拉威爾

ravel 操作可讓您將 NumPy 數組轉換為單列的 ravel。 這是一個例子:

1 將 numpy 導入為 np

2 x= np.array([(1,2,3),(3,4,5)])

3打印(x.ravel())

代碼的輸出 - [ 1 2 3 3 4 5]

結論

我們確信您已經發現這個 Python NumPy 教程內容豐富。 到目前為止,您已經了解 Python NumPy 是什麼以及它的功能是什麼。 如果您對此主題有任何疑問,請隨時告訴我們。

如果您想了解數據科學,請查看 IIIT-B 和 upGrad 的數據科學執行 PG 計劃,該計劃是為在職專業人士創建的,提供 10 多個案例研究和項目、實用的實踐研討會、與行業專家的指導、1與行業導師一對一,400 多個小時的學習和頂級公司的工作協助。

NumPy 在 Python 中有什麼用?

NumPy 是一個廣泛使用的庫,用於在 Python 中處理數組。 NumPy 中的某些函數還可以讓您在矩陣、傅里葉變換和線性代數領域工作。

列表在 Python 中用於服務於數組的目的。 這裡唯一的缺點是它們的處理速度很慢。 NumPy 能夠提供一個數組對象,與傳統的 Python 列表相比,它的速度要快 50 倍。 NumPy 中的數組對象提供了各種支持功能,以使其工作更加簡單和容易。 每當談到數據科學的速度和資源時,都會考慮數組,這就是 NumPy 發揮作用的時候。

學習 NumPy 的最佳方法是什麼?

當涉及在 Python 中運行的基本包時,NumPy 包含在列表中。 NumPy 是 Python 中的一個知名庫,因為它具有幾個動態特性,例如高級語法、Python 的靈活性以及編譯代碼的速度、數值計算工具等等。

當你開始學習 NumPy 的時候,最好通過一些在線教程,閱讀 NumPy 官方文檔。 這將有助於在您轉向高級概念之前奠定基礎知識。 稍後,您可以使用其他資源,例如 YouTube 教程,甚至參加課程以深入了解如何在 Python 中使用 NumPy。

NumPy 數組更快還是列表?

眾所周知,NumPy 數組是傳統 Python 列表的更快替代方案。 無論您希望對數據執行什麼操作,您都會發現 NumPy 數組比列表準確得多。

隨著數組大小的增加,NumPy 的速度比 Python 列表快 30 倍。 因此,即使您執行簡單的刪除操作,您也會注意到 NumPy 數組的速度很快。 由於 NumPy 數組由於其同類類型而密集打包,因此它也傾向於更快地清除內存。