Python 收集多个函数并在数据帧上应用所有函数
我有几个功能:Python 收集多个函数并在数据帧上应用所有函数,python,Python,我有几个功能: def func1 def func2 def func3 我想在Python数据帧上以特定的顺序应用所有这些方法。我可以这样做: df = func1(df) df = func2(df) df = func3(df) 或者说: df = func3(func2(func1(df))) 还有其他类似蟒蛇的方法吗?使用循环: for f in (func1, func2, func3): df = f(df) 将它们全部放在类中,确保它们都返回类,然后链接它们:
def func1
def func2
def func3
我想在Python数据帧上以特定的顺序应用所有这些方法。我可以这样做:
df = func1(df)
df = func2(df)
df = func3(df)
或者说:
df = func3(func2(func1(df)))
还有其他类似蟒蛇的方法吗?使用循环:
for f in (func1, func2, func3):
df = f(df)
将它们全部放在类中,确保它们都返回类,然后链接它们:
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()
你可以试试看,功能构成美就在旁观者的眼中。