我有几个功能:def func1def func2def func3我想在 Python 数据帧上以特定顺序应用所有这些。我可以做这样的事情:df = func1(df)df = func2(df)df = func3(df)或喜欢:df = func3(func2(func1(df)))有没有更多的 Pythonic 方式来做到这一点?
2 回答

慕哥9229398
TA贡献1877条经验 获得超6个赞
将它们全部放在类中并确保它们都返回类,然后将它们链接起来:
df = pd.DataFrame([[1,2]])
class foo():
def __init__(self, df=pd.DataFrame()):
self.df = df
def __call__(self, df=pd.DataFrame()):
return foo(df=df)
def print(self):
print("here we go")
print (self.df)
return self
def func1(self):
self.df=self.df.append([[2,3]])
return self
def func2(self):
self.df=self.df.append([[3,4]])
return self
def func3(self):
self.df=self.df.append([[4,5]])
return self
a = foo(df)
a.print().func1().print().func2().print().func3().print()
添加回答
举报
0/150
提交
取消