首页 > 解决方案 > 数据框列表理解“zip(...)”:仅使用列名字符串列表有效地循环选择的 df 列

问题描述

这只是一个挑剔的句法问题......

我有一个数据框,我想使用列表理解来评估使用大量列的函数。

我知道我能做到

df['result_col'] = [some_func(*var) for var in zip(df['col_1'], df['col_2'],... ,df['col_n'])]

我想做这样的事情

df['result_col'] = [some_func(*var) for var in zip(df[['col_1', 'col_2',... ,'col_n']])]

即不必写df n时间。我一生都无法弄清楚语法。

标签: pythonpandasziplist-comprehensioncolumnname

解决方案


这应该可行,但老实说,OP自己也想出来了,所以+1 OP :)

df['result_col'] = [some_func(*var) for var in zip(*[df[col] for col in ['col_1', 'col_2',... ,'col_n']])]

推荐阅读