gpt4 book ai didi

python - 嵌套 if 条件以在 pandas 数据框中创建新列

转载 作者:太空宇宙 更新时间:2023-11-03 13:29:40 24 4
gpt4 key购买 nike

我有一个如下所示的数据框:

|userid|rank2017|rank2018|
|212 |'H' |'H' |
|322 |'L' |'H |
|311 |'H' |'L' |

我想在上面的数据框中创建一个名为 progress 的新列,如果 rank2017 等于 rank2018,它将输出 1,如果 rank2017 为“H”且 rank2018 为“L”,则输出 2 否则 3.任何人都可以帮我执行这个在 python 中

最佳答案

这是一种方法。您不需要使用嵌套的 if 语句。

df = pd.DataFrame({'user': [212, 322, 311],
'rank2017': ['H', 'L', 'H'],
'rank2018': ['H', 'H', 'L']})

df['progress'] = 3
df.loc[(df['rank2017'] == 'L') & (df['rank2018'] == 'H'), 'progress'] = 2
df.loc[df['rank2017'] == df['rank2018'], 'progress'] = 1

# rank2017 rank2018 user progress
# 0 H H 212 1
# 1 L H 322 2
# 2 H L 311 3

关于python - 嵌套 if 条件以在 pandas 数据框中创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49142429/

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