Дано рамке данных в коалах:
df = ks.DataFrame({"high_risk": [0, 1, 0, 1, 1],
"medium_risk": [1, 0, 0, 0, 0]
})
Запуск лямбда-функции для получения нового столбца на основе существующих значений столбца:
df = df.assign(risk=lambda x: "High" if x.high_risk else ("Medium" if x.medium_risk else "Low"))
df
Out[72]:
high_risk medium_risk risk
0 0 1 High
4 1 0 High
1 1 0 High
2 0 0 High
3 1 0 High
Ожидаемый доход:
high_risk medium_risk risk
0 0 1 Medium
4 1 0 High
1 1 0 High
2 0 0 Low
3 1 0 High
Почему это присваивает «High» каждому из значений. Намерение состоит в том, чтобы выполнять операции над каждой строкой, рассматривает ли он весь столбец в сравнении?