设置:对于具有10列的数据框,我列出了希望以某种function1(column1), function2(column2), ..., function10(column10)
方式应用的10个函数。我调查了一下pandas.DataFrame.apply
,pandas.DataFrame.transform
但是它们似乎广播了每个函数并将其应用于所有可能的列。
IIUC,带有zip
和for
循环:
def function1(x):
return x + 1
def function2(x):
return x * 2
def function3(x):
return x**2
df = pd.DataFrame({'A': [1, 2, 3], 'B': [1, 2, 3], 'C': [1, 2, 3]})
functions = [function1, function2, function3]
print(df)
# A B C
# 0 1 1 1
# 1 2 2 2
# 2 3 3 3
for col, func in zip(df, functions):
df[col] = df[col].apply(func)
print(df)
# A B C
# 0 2 2 1
# 1 3 4 4
# 2 4 6 9
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句