NumPy 和 Pandas 有什么区别?
Pandas 和 NumPy 都是 Python 中功能强大的开源库,并且各有适用性。Pandas 的许多功能都基于 NumPy 构建,它们都是 SkiPy Analytics 的一部分。
Numpy 代表"数值 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 DataFrame。并使用 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 仅处理数值。

