【问题标题】:Conditional column using threshold values使用阈值的条件列
【发布时间】:2020-10-13 08:55:11
【问题描述】:

我有一个表设置如下:

Name    ScoreA    ScoreB    
Jimmy   0.95       0.95       
Claire  0.95       0.75      

我想要做的是有一个输出列,如果两个分数都高于 0.9,则返回 1,如果两个分数都低于 0.8,则返回 0,如果两个分数都在 0.8

输出看起来像这样:

Name    ScoreA    ScoreB   0/1/2  
Jimmy    0.95      0.95      1
Claire   0.65      0.75      0
Harry    0.85      0.82      2
Paige    0.91      0.82      2

有人有什么想法吗?

谢谢!

【问题讨论】:

    标签: python pandas dataframe if-statement conditional-statements


    【解决方案1】:

    使用 numpy select:

    df['0/1/2'] = np.select([(df.ScoreA<.8)&(df.ScoreB<.8), (df.ScoreA>.9)&(df.ScoreB>.9)], [0,1], 2)
    

    结果:

         Name  ScoreA  ScoreB  0/1/2
    0   Jimmy    0.95    0.95      1
    1  Claire    0.65    0.75      0
    2   Harry    0.85    0.82      2
    3   Paige    0.91    0.82      2
    

    【讨论】:

    • 完美。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 2021-02-20
    相关资源
    最近更新 更多