python - pandas 和 numpy 的交互

标签 python pandas numpy

我试图准确理解 numpypandas 是如何交互的。特别是,pandas.Series 对象是一个 ndarray,其标签符合文档字符串。 numpy 方法似乎在这些类型的对象上工作得很好。是否有在引擎盖下的某个地方进行转换?我能够挖掘的最好的是调用 numpy.asanyarray()pandas.Series 转换为 ndarray numpy 函数。内部还有其他事情发生吗?

最佳答案

不,严格来说,pandas 容器不是 numpy.ndarray 对象。也就是说,它们不继承自它们。 IOW:

In [5]: import pandas as pd

In [6]: df = pd.DataFrame()

In [7]: s = pd.Series()

In [8]: import numpy as np

In [9]: isinstance(df, np.ndarray)
Out[9]: False

In [10]: isinstance(s, np.ndarray)
Out[10]: False

或者,更直接地说:

In [12]: issubclass(pd.DataFrame, np.ndarray), issubclass(pd.Series, np.ndarray)
Out[12]: (False, False)

简单地说,这些容器包装 numpy.ndarray 对象,并公开许多相同的方法。没有类型转换正在进行。在像 Python 这样使用鸭子类型的语言中,转换不是一个非常有用的概念。

关于python - pandas 和 numpy 的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49662776/

相关文章:

python - 我可以强制 python 数组元素具有特定大小吗?

Python将十进制转换为十六进制

Python 导入为元组

python - Sage 的 "var"是如何工作的?

python - 如何表示数据的趋势(上升/下降/不变)?

python - 使用 numpy 计算精度和准确度

python - 需要在 numpy.any 上对矩阵进行小的说明

python - 如何搜索和替换文件中的文本?

python - 压缩 pandas DataFrame 以具有非空值并修改列名

python - Pandas :从具有混合字符串浮点值的列中去除空格