gpt4 book ai didi

python - 如何在 python 中编写以两个变量(列)为条件的 lambda 函数

转载 作者:太空狗 更新时间:2023-10-29 22:04:50 25 4
gpt4 key购买 nike

我有一个数据集 df,它有两个变量 x 和 y。我想编写一个执行以下操作的函数:

x if x>100 and y<50 else y

我习惯用STATA做数据分析,所以对pandas做数据分析比较陌生。如果有帮助,在 stata 中它看起来像:

replace x = cond(x>100 & y<50, x, y)

换句话说,该函数以 df 中的两列为条件,并将根据是否满足条件从每行中的一个变量或另一个变量返回一个值。

到目前为止,我一直在通过新函数创建新变量,例如:

df.dummyVar = df.x.apply(lambda x: 1 if x>100 else 0)

使用 StackOverflow 和文档,我只能找到如何将依赖于单个变量的函数应用于多个列(使用轴选项)。请帮忙。

最佳答案

使用哪里:

df['dummyVar '] = df['x'].where((df['x'] > 100) & (df['y'] < 50), df['y'])

这比执行应用操作要快得多,因为它是矢量化的。

关于python - 如何在 python 中编写以两个变量(列)为条件的 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24790676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com