我有一个pandas数据框和一个N参数的函数。现在,对于每一行,我想使用N列中的值作为函数的输入和我想要保存在附加列中的函数的输出。我可以用"直接"方式:
inds = []
d = {}
for ind, row in df.iterrows():
inds.append(ind)
d[ind] = my_func(row.col1, row.col2, row.col3)
df['out_col'] = pandas.Series(d, index = inds)
但是,使用以下内容要快得多:
df['out_col'] = map(my_func, df.col1, df.col2, df.col3)
为什么它比"直接"更快?解。地图功能使用什么技巧如此之快?