熊猫是否依赖于 NumPy?

Pandas 建立在 NumPy 之上,这意味着 Python pandas 包依赖于 NumPy 包以及许多其他 3rd 方库的 Pandas。所以我们可以说 Numpy 是操作 Pandas 所必需的。

pandas 库在很大程度上依赖于 Numpy 数组来实现 pandas 数据对象。

示例

import pandas as pd
df = pd.DataFrame({'A':[1,2,3,4], 'B':[5,6,7,8]})
print('Type of DataFrame: ',type(df))

print('Type of single Column A: ',type(df['A']))

print('Type of values in column A',type(df['A'].values))

print(df['A'].values)

解释

df 变量存储了一个使用 python 字典创建的 DataFrame 对象,这个 DataFrame 有 2 列,分别命名为 A 和 B。在上面代码的第三个中,我们试图显示我们的 dataFrame 的类型,它将显示 Pandas 核心 Dataframe。第四行将打印单列的类型,即 A 结果输出将是熊猫系列。第五行将显示该单列 A 中可用的值类型。

输出结果

Type of DataFrame: <class 'pandas.core.frame.DataFrame'>
Type of single Column A: <class 'pandas.core.series.Series'>
Type of values in column A <class 'numpy.ndarray'>

array([1, 2, 3, 4], dtype=int64)

输出的第三行显示数据代表我们上面的熊猫示例中的 Numpy 数组对象。在我们的示例中,我们甚至没有导入 NumPy 包。

示例

import pandas as pd
df = pd.DataFrame([['a','b'],['c','d'],['e','f'],['g','h']], columns=['col1','col2'])
print('Type of DataFrame: ',type(df))

print('Type of single Column A: ',type(df['col1']))

print('Type of values in column A',type(df['col1'].values))

print(df['col1'].values)

解释

在下面的示例中,我们有一个使用 python 列表列表创建的 DataFrame df。这个 DataFrame df 有 2 列名为 col1 和 col2。我们尝试打印单列“col1”的类型,结果输出将是熊猫系列。如果我们打印该列 col1 中可用值的类型,我们可以看到输出将是 numpy.ndarray。

输出结果

Type of DataFrame: <class 'pandas.core.frame.DataFrame'>
Type of single Column A: <class 'pandas.core.series.Series'>
Type of values in column A <class 'numpy.ndarray'>
['a' 'c' 'e' 'g']

现在我们可以说 pandas 列可以建立在 NumPy 数组对象的基础上。在使用 Pandas 时,您不需要专门导入它。当你安装 Pandas 时,你可以看到如果你之前没有安装过 NumPy,你的包管理器会自动安装 Numpy 包。