gpt4 book ai didi

python - 如何使用 python 中的现有列创建一个以其他列为条件的新列

转载 作者:太空宇宙 更新时间:2023-11-04 02:42:01 25 4
gpt4 key购买 nike

我在 python 中有一个 dataframe 看起来像这样

dt = pd.DataFrame({"language1": ["english", "english123", "ingles", "ingles123", "14.0", "13", "french"],
"language2": ["englesh", "english123", "ingles", "ingles123", "14", "13", "french"],
"language3": ["englesh", "engl", "ingles", "ingles123", "14", "13", "spanish"]})

我想做的是复制此 R 代码,但在 python

dt[,language4:=ifelse(!language1%in%c("french"),paste0(language2,"_win"),paste0(language3,"_lose"))]

我试过了,还是不行

dt['language4'] = dt.apply(lambda x: ~x['language1'].isin(['french']), x['language2'] + "_win", x['language3']+"_lose")

所以我想到了这个

dt.loc[~dt['language1'].isin(["french"]),'language4'] = surv_dt_sd['language2'] + \
"_win"

但我不知道如何在一行中实现else

最佳答案

numpy.where 将在这里工作:

dt['language4'] = np.where("french" not in dt['language1'], dt['language2'] + '_win', dt['language2'] + '_lose')

关于python - 如何使用 python 中的现有列创建一个以其他列为条件的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46220892/

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