NumPy 和熊猫有什么区别?
pandas和NumPy都是Python中有效使用的强大开源库。这些包有其自身的适用性。许多Pandas功能都建立在NumPy之上,它们都是SkiPyAnalytics世界的一部分。
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列。之后,我们将使用(线性代数)模块中inv()可用的函数计算数组arr的逆矩阵numpy.linalg。
输出结果
[[ 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的名字来源于PanelData,意思是多维数据中的计量经济学。
Pandas允许您使用Python代码执行电子表格的大部分操作,而NumPy主要处理数值数据,而Pandas处理表格数据。此表格数据可以是任何形式,例如CSV文件或SQL数据。
Pandas提供了强大的工具,如DataFrame和Series,主要用于分析数据。
让我们举个例子,看看pandas将如何处理表格数据。
示例
data = pd.read_csv('titanic.csv') print(data.head())
解释
Pandas提供了许多函数来将任何类型的数据读入PandasDataFrame或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仅处理数值。