【发布时间】:2020-03-02 19:02:09
【问题描述】:
我编写了一个小的 python 包,它通过一些额外的方法扩展了 pandas 数据框。
目前,我的包中有以下代码:
def init():
@pd.api.extensions.register_dataframe_accessor("test")
class _:
def __init__(self, pandas_obj):
self._obj = pandas_obj
def myMethod(self):
pass
然后我在 python 中执行以下操作:
import pandas as pd
import mypackage as mp
mp.init()
test = pd.Dataframe(<define data frame>)
test.mp.myMethod()
我的问题是,是否可以在 mypackage 中的 __init__.py 中进行 pandas 导入并注册访问器,这样一旦 mypackage 被导入,我就可以在没有 init() 步骤的情况下自动访问 mymethod?我目前的方法感觉有点笨拙......
【问题讨论】:
-
您可以在
__init__.py中执行任何必要的操作来初始化包。
标签: python pandas python-import class-extensions