J'ai besoin de créer une liste de patients dans une base de données qui les classe comme "élevés", "moyens" ou "faibles" en fonction de leur IMC et du fait qu'ils fument ou non. Lorsque j'exécute le code, j'obtiens "Moyen" pour les six entrées. (Des pseudo-noms et des données ont été utilisés)
df = pd.DataFrame({'Name':['Jordan', 'Jess', 'Jake', 'Alice', 'Alan', 'Lauren'],
'Age':[26, 23, 19, 20, 24, 28],
'Sex':['M', 'F' , 'M', 'F', 'M', 'F'],
'BMI':[26, 22, 24, 17, 35, 20],
'Smokes':['No', 'No', 'Yes', 'No', 'Yes', 'No']})
risk_list = []
for i in df.Name:
if df.BMI.any() > 30 | df.BMI.any() < 19.99 | df.Smokes.any() == "Yes":
risk_list.append("High")
elif df.BMI.any() >= 25 & df.BMI.any() <= 29.99:
risk_list.append("Medium")
elif df.BMI.any() < 24.99 & df.BMI.any() > 19.99 and df.Smokes.any() == "No":
risk_list.append("Low")
print(risk_list)
Sortie :
['Medium', 'Medium', 'Medium', 'Medium', 'Medium', 'Medium']
Je suis novice en matière de pandas et de python. Je pense que je suis proche du but mais je n'arrive pas à comprendre pourquoi mes données ne sont pas renvoyées correctement.
Merci.