我编写了一个小的 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()
我的问题是,是否可以__init__.py
在 mypackage 中进行 pandas 导入和注册访问器,这样一旦 mypackage 被导入,我就可以在没有 init() 步骤的情况下自动访问 mymethod?我目前的方法感觉有点笨拙......