使用带有函数名称的列表迭代地应用于数据框列

Use a list with function names to iteratively apply over a dataframe column

上下文:我允许用户为清洁过程管道添加特定方法(附加到主列表,选择所有方法)。此列表中的每个元素都是一个函数的名称。

我的问题是:

为什么这样做:

dataframe[cleanedCol] =dataframe[colToClean].apply(replace_contractions).apply(remove_links).apply(remove_emails)

但是像这样的东西不是吗?

pipeline = ['replace_contractions','remove_links','remove_emails']
for method in pipeline:
     dataframe[cleanedColumn] = dataframe[columnToClean].apply(method)

如何将列表中的每个方法(按照它们在列表中的顺序)迭代应用到数据框列?

提前致谢!

您可能必须 convert those strings to actual function objects 或者更好的做法是将函数对象而不是名称存储为字符串

pipeline = [replace_contractions, remove_links, remove_emails]
for method in pipeline:
     dataframe[cleanedColumn] = dataframe[columnToClean].apply(method)