我对Python编程比较陌生。我有一个pandas DataFrame对象说obj1。我需要对存储在obj1 [' key']中的记录应用一系列转换。假设obj1 [' key']有300个条目,我需要在300个条目中的每个条目上应用func1然后是func2然后func3,并将最终结果存储在obj1 [' key']中。 一种方法是如下所述。还有更好的方法吗?
obj1['key']=[func3(func2(func1(item))) for item in obj1['key']]
Python生成器不能用于此目的。
答案 0 :(得分:2)
是的,您可以使用默认方法DataFrame.apply()
df = df.apply(f1).apply(f2).apply(fn)
答案 1 :(得分:0)
定义一个函数
def recursivator(x, fs):
return recursivator(fs[-1](x), fs[:-1]) if len(fs) > 0 else x
x
正在进行操作,fs
是一系列功能。
df = df.applymap(lambda x: recursivator(x, fs))