Estou trabalhando com um conjunto de dados parecido com este e estou interessado em ver como a pressão arterial afeta alguns pacientes.
df = {'Person ID': [1,2,3,4,5,6,7,8],
'BMI': ['Overweight','Normal','Normal','Obese','Obese','Underweight','Normal','Obese'],
'Sleep Disorder': ['Insomnia',float('nan'),float('nan'),'Sleep Apnea','Sleep Apnea',float('nan'),float('nan'),'Insomnia'],
'Illness':['Ill', 'Healthy','Healthy','Ill','Ill','Healthy','Healthy','Ill'],
'Blood Pressure': ['125/82','132/87','128/85','126/83','126/83','115/78','139/91','142/92']}
Saída:
Person ID BMI Sleep Disorder Illness Blood Pressure Sleep Duration
0 1 Overweight Insomnia Ill 125/82 6.1
1 2 Normal NaN Healthy 132/87 6.2
2 3 Normal NaN Healthy 128/85 6.2
3 4 Obese Sleep Apnea Ill 126/83 5.9
4 5 Obese Sleep Apnea Ill 126/83 5.9
5 6 Underweight NaN Healthy 115/78 8.1
6 7 Normal NaN Healthy 139/91 8.1
7 8 Obese Insomnia Ill 142/92 8.1
O principal problema é que Blood Pressure
não é um Int nem um Float, então como posso medir uma correlação ou que tipo de correlação pode ser usada para comparar "Ill"
pessoas "Healthy"
?
A ideia é replicar isso:
graph_bp = sns.scatterplot(data = sleep_dataset, x = "Blood Pressure", y = "Sleep Duration", hue = "Health State")
graph_bp.set_title("Relation between age and sleep duration")
graph_bp.set_xlabel("Blood Pressure")
graph_bp.set_ylabel("Sleep Duration")
cor_bp = sleep_dataset["Blood Pressure"].corr(sleep_dataset["Sleep Duration"])
print("Correlation with age: " + str(cor_bp))
Para obter alguma informação sobre Pressão Arterial, mas não há nenhum int associado. Uma ideia é separar os valores de maior e menor e fazer a diferença, mas não parece uma boa ideia pois diria que uma pessoa com 140/100 é igual a 100/60, como você faria gráfico fora disso?