如何在 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
值时出错。
我的数据框 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
值时出错。