Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 大熊猫与numpy的互动_Python_Pandas_Numpy - Fatal编程技术网

Python 大熊猫与numpy的互动

Python 大熊猫与numpy的互动,python,pandas,numpy,Python,Pandas,Numpy,我试图准确地理解numpy和pandas是如何相互作用的。特别是,pandas.Series对象是一个ndarray,其标签根据docstringnumpy方法在这些类型的对象上似乎工作得很好。。引擎盖下面有铸件吗?我能找到的最好的方法是调用numpy.asanyarray(),在一些numpy函数中将pandas.Series转换为ndarray。内部还发生了什么吗?不,严格来说,pandas容器不是numpy.ndarray对象。也就是说,他们不是从他们那里继承的。IOW: In [5]:

我试图准确地理解
numpy
pandas
是如何相互作用的。特别是,
pandas.Series
对象是一个
ndarray
,其标签根据docstring
numpy
方法在这些类型的对象上似乎工作得很好。。引擎盖下面有铸件吗?我能找到的最好的方法是调用
numpy.asanyarray()
,在一些
numpy
函数中将
pandas.Series
转换为
ndarray
。内部还发生了什么吗?

不,严格来说,
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这样使用duck类型的语言中,强制转换不是一个非常有用的概念

你可能想要谷歌。这是Pandas对象的
\u data
属性,它对NumPy数组执行大部分实际的“包装”。