首页 > 解决方案 > python - 如何在python中对具有两个或多个变量的数据框使用列表理解?

问题描述

我有df来自excel的数据框

这是否可能以任何方式:

df["A"] = [foo(b, c) for (b, c) in (df["B"], df["C"])]

需要从数据框的不同列传递函数中的变量

谢谢

标签: pythonpandaslistdataframelist-comprehension

解决方案


您可以使用df.apply()on (用于列索引)来获取和axis=1的对应值,以便传递给,如下所示:df["B"]df["C"])foo

df['A'] = df.apply(lambda x: foo(x['B'], x['C']), axis=1)

这是完成任务的更惯用的 Pandas 方式。我们通常更喜欢使用 Pandas 函数而不是列表推导,因为 Pandas 函数可以NaN更好地处理值,而列表推导在处理值时经常会出错NaN


推荐阅读