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仅处理数值。