如何在 python 中对具有两个或多个变量的数据框使用列表理解?

How to use list comprehensions for dataframe with two or more variables in python?

我的数据框 df 来自 excel

这有可能吗:

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

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

感谢

您可以在 axis=1 上使用 df.apply()(用于列索引)以获取每行的 df["B"]df["C"]) 的相应值以传递给 foo,如下:

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

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