如何将Cufflinks方法注入Pandas,即使在之前已导入?

2024-10-03 11:25:06 发布

您现在位置:Python中文网/ 问答频道 /正文

袖扣以DataFrame.iplot的形式提供了Panda的DataFrame和{}之间的接口。下面的前两个输出示例并不令我惊讶,但第三个示例确实如此。每个都在iPython3的新实例中运行。在

import pandas as pd
pd.DataFrame.iplot

Out[1]: AttributeError: type object 'DataFrame' has no attribute 'iplot'  

import pandas as pd
import cufflinks as cf
pd.DataFrame.iplot

Out[1]: <function cufflinks.plotlytools._iplot>

import cufflinks as cf
import pandas as pd
pd.DataFrame.iplot

Out[1]: <function cufflinks.plotlytools._iplot>

首先我们看到pd数据帧默认情况下不包含iplot。在第二个例子中,当袖扣在Pandas之后导入时,它可以很容易地向DataFrame类添加一个额外的方法来提供额外的功能。但是,在第三个方法中,DataFrame类将在导入cufflinks之后的import pandas语句中定义。如何添加附加方法?这绝对是方便的,因为我对中间示例如何工作的理解需要始终按顺序导入库,这是不可取的,因此我有兴趣了解这里使用的技巧。在


Tags: 方法import示例dataframepandasasfunctionout
1条回答
网友
1楼 · 发布于 2024-10-03 11:25:06

我相当肯定这是因为python caches加载了模块。例如,以下表达式均为真:

import sys.modules
import pandas as pd
import pandas as pds
print(pd is pds)
print(pd is sys.modules['pandas'])
print(pds is sys.modules['pandas'])

印刷品:

^{pr2}$

相关问题 更多 >