编写修改原始对象的条件语句,在风险评分上设置边界

时间:2018-01-15 16:21:11

标签: python pandas if-statement

我目前正在尝试在〜( - 0.5)和~1.5之间进行风险评分并在其上设置边界,以便如果它低于0则将其设置为零,如果它高于1,则它将是设置为1.我还没有找到一个示例,其中初始对象是更改的对象,因为我不希望仅创建一个标志或单独的对象,我将不得不在以后合并。我的数据的样本图片如下[1]

1

我一直在尝试以下代码,它有将每一行设置为1的问题,我不知道如何让它在单独的基础上评估每一行并将其四舍五入或基于它条件

if df["Risk Score"].loc <= 0:
    df["Risk Score"] = 0

elif df["Risk Score"].loc >= 1:
    df["Risk Score"] = 1

1 个答案:

答案 0 :(得分:0)

您需要clip方法(适用于pandas 21及更高版本):

df["Risk score"].clip(lower=0, uppper=1, inplace=True)

pandas的旧版本中,您可以执行

df["Risk score"] = df["Risk score"].clip(lower=0, uppper=1)

或最明显的

df.loc[df["Risk score"] < 0, "Risk score"] = 0
df.loc[df["Risk score"] > 1, "Risk score"] = 1