Написание условного оператора, который изменяет исходный объект, задавая границы для оценки риска
В настоящее время я пытаюсь получить оценку риска, которая находится между ~ (-0.5) и ~ 1.5 и помещает на нее границы, так что если она меньше 0, она будет установлена в ноль, а если она выше 1, это будет установлен на 1. Мне еще предстоит найти пример, когда первоначальный объект является тем, который был изменен, так как я не хочу просто создавать флаг или отдельные объекты, которые мне придется консолидировать позже. Пример pic моих данных ниже [1]
Я пробовал следующий код, у него есть проблема установки каждой отдельной строки на 1, я не уверен, как заставить ее оценивать каждую строку на отдельной основе и либо обойти ее, либо оставить ее в покое, исходя из условия
if df["Risk Score"].loc <= 0:
df["Risk Score"] = 0
elif df["Risk Score"].loc >= 1:
df["Risk Score"] = 1
Вам нужен метод клипа (работает в 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
- Вопросы
- If-statement
- Написание условного оператора, который изменяет исходный объект, задавая границы для оценки риска