所以我想为我自己的项目创建一个模块,并想使用方法。例如我想做的:
from mymodule import *
df = pd.DataFrame(np.random.randn(4,4))
df.mymethod()
事情是我似乎不能使用 .myfunc()
因为我认为我只能对我创建的类使用方法。一种解决方法是使 mymethod
成为一个函数,并使其使用 pandas.Dataframes
作为变量:
myfunc(df)
我真的不想这样做,有没有办法实现第一个?
最佳答案
可以在 ffn 包中找到不错的解决方案。作者做什么:
from pandas.core.base import PandasObject
def your_fun(df):
...
PandasObject.your_fun = your_fun
在那之后你的手动函数“your_fun”变成了 pandas.DataFrame 对象的一个方法,你可以做类似的事情
df.your_fun()
此方法将能够同时处理 DataFrame 和 Series 对象
关于python - 为 DataFrames 创建我自己的方法(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43504068/