NumPy 和 pandas 之間的區別是什麼?


Pandas 和 NumPy 都是 Python 中功能強大的開源庫。這些包有其自身的適用性。許多 pandas 的功能建立在 NumPy 之上,它們都是 SkiPy Analytics 世界的一部分。

Numpy 代表 Numerical Python。NumPy 是科學計算的核心庫。它可以處理多維資料,也就是 n 維數值資料。NumPy 陣列是一個功能強大的 N 維陣列物件,以行和列的形式呈現。

許多 NumPy 操作是在 C 語言中實現的。它速度快,需要的記憶體比 pandas 少。

NumPy 允許你執行各種數值任務,例如線性代數和許多其他高階線性代數任務。這些任務包括矩陣求逆、奇異值分解、行列式估計等。

讓我們舉個例子,看看如何進行數學運算。

示例

import numpy as np
arr = np.array([[2,12,3], [10,5,7],[9,8,11]])
print(arr)
arr_inv = np.linalg.inv(arr)
print(arr_inv)

解釋

上面程式碼塊的第一行匯入 NumPy 模組,np 代表 NumPy 模組的別名。變數 arr 是一個二維陣列,它有 3 行 3 列。之後,我們使用 numpy.linalg(線性代數)模組中提供的 inv() 函式計算陣列 arr 的逆矩陣。

輸出

[[ 2 12 3]
 [10 5 7]
 [ 9 8 11]]
[[ 0.0021692 0.23427332 -0.14967462]
 [ 0.10195228 0.01084599 -0.03470716]
 [-0.07592191 -0.19956616 0.23861171]]

此輸出塊包含兩個陣列,第一個表示來自變數 arr 的值的陣列,第二個是 arr(變數 arr_inv)的逆矩陣。

Pandas 提供了 Python 中高效能的資料操作,它需要 NumPy 來執行,因為它構建在 NumPy 之上。Pandas 的名稱來源於“面板資料”(Panel Data)一詞,指的是計量經濟學中的多維資料。

Pandas 允許你使用 Python 程式碼執行電子表格的大多數操作,而 NumPy 主要處理數值資料,而 Pandas 處理表格資料。此表格資料可以是任何形式,例如 CSV 檔案或 SQL 資料。

Pandas 提供了強大的工具,例如 DataFrame 和 Series,主要用於資料分析。

讓我們舉個例子,看看 pandas 如何處理表格資料。

示例

data = pd.read_csv('titanic.csv')
print(data.head())

解釋

Pandas 提供了許多函式,可以將任何型別的資料讀取到 pandas DataFrame 或 Series 中,在上面的例子中,我們將泰坦尼克號資料集作為 pandas 資料框讀取。並使用 head() 方法顯示輸出。

輸出

  PassengerId   Survived   Pclass \
0           1          0        3
1           2          1        1
2           3          1        3
3           4          1        1
4           5          0        3

                                               Name   Gender   Age   SibSp \
0                           Braund, Mr. Owen Harris     male  22.0       1
1 Cumings, Mrs. John Bradley (Florence Briggs Th...   female  38.0       1
2                            Heikkinen, Miss. Laina   female  26.0       0
3      Futrelle, Mrs. Jacques Heath (Lily May Peel)   female  35.0       1
4                          Allen, Mr. William Henry     male  35.0       0

   Parch            Ticket     Fare Cabin   Embarked
0      0         A/5 21171   7.2500   NaN          S
1      0          PC 17599  71.2833   C85          C
2      0  STON/O2. 3101282   7.9250   NaN          S
3      0            113803  53.1000  C123          S
4      0            373450   8.0500   NaN          S

我們可以看到,pandas 資料框可以儲存任何型別的資料,而 NumPy 僅處理數值。

更新於: 2021年11月18日

312 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告

© . All rights reserved.