AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / Perguntas / 77227836
Accepted
Manuel Veiga
Manuel Veiga
Asked: 2023-10-04 16:06:28 +0800 CST2023-10-04 16:06:28 +0800 CST 2023-10-04 16:06:28 +0800 CST

Como você converte isso em um float que seja útil? Pressão arterial como valor expresso em string

  • 772

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 Pressurenã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?

pandas
  • 1 1 respostas
  • 23 Views

1 respostas

  • Voted
  1. Best Answer
    mozway
    2023-10-04T16:12:54+08:002023-10-04T16:12:54+08:00

    A correlação pode ser com um dos números ou com ambos. Do ponto de vista científico, você deve calcular ambas as correlações de forma independente ou encontrar um indicador significativo derivado da combinação de ambas (muito mais difícil).

    Imagine que uma determinada doença afete apenas uma das pressões, ou as afete de formas opostas. Ao usar uma agregação, você perderá informações e potencialmente perderá o que procura.

    Em qualquer caso, você deve converter a string em dois números, o que pode ser feito com:

    df[['systolic', 'diastolic']] = (df['Blood Pressure']
                                     .str.split('/', expand=True)
                                     .astype(int)
                                    )
    

    Saída:

       Person ID          BMI Sleep Disorder  Illness Blood Pressure  systolic  diastolic
    0          1   Overweight       Insomnia      Ill         125/82       125         82
    1          2       Normal            NaN  Healthy         132/87       132         87
    2          3       Normal            NaN  Healthy         128/85       128         85
    3          4        Obese    Sleep Apnea      Ill         126/83       126         83
    4          5        Obese    Sleep Apnea      Ill         126/83       126         83
    5          6  Underweight            NaN  Healthy         115/78       115         78
    6          7       Normal            NaN  Healthy         139/91       139         91
    7          8        Obese       Insomnia      Ill         142/92       142         92
    

    Então você pode representar graficamente uma das pressões:

    graph_bp = sns.scatterplot(data=sleep_dataset, x='systolic',
                               y='Sleep Duration', hue='Illness')
    

    insira a descrição da imagem aqui

    Ou ambas as pressões:

    df_melt = sleep_dataset.melt(df.columns.difference(['systolic', 'diastolic']),
                                 var_name='type', value_name='pressure')
    graph_bp = sns.scatterplot(data=df_melt, x='pressure',
                               y='Sleep Duration', hue='Illness', style='type')
    

    insira a descrição da imagem aqui

    • 1

relate perguntas

  • Extraia a string da linha duplicada, remova a duplicata, forneça a contagem de strings [duplicada]

  • percorrendo colunas para gerar countplot () seaborn

  • Como posso obter o máximo de cada linha em uma coluna de índice

  • Crie uma matriz dask com pyarrow dtype

  • Divida as entradas no dataframe [duplicado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    destaque o código em HTML usando <font color="#xxx">

    • 2 respostas
  • Marko Smith

    Por que a resolução de sobrecarga prefere std::nullptr_t a uma classe ao passar {}?

    • 1 respostas
  • Marko Smith

    Você pode usar uma lista de inicialização com chaves como argumento de modelo (padrão)?

    • 2 respostas
  • Marko Smith

    Por que as compreensões de lista criam uma função internamente?

    • 1 respostas
  • Marko Smith

    Estou tentando fazer o jogo pacman usando apenas o módulo Turtle Random e Math

    • 1 respostas
  • Marko Smith

    java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duratio

    • 3 respostas
  • Marko Smith

    Por que 'char -> int' é promoção, mas 'char -> short' é conversão (mas não promoção)?

    • 4 respostas
  • Marko Smith

    Por que o construtor de uma variável global não é chamado em uma biblioteca?

    • 1 respostas
  • Marko Smith

    Comportamento inconsistente de std::common_reference_with em tuplas. Qual é correto?

    • 1 respostas
  • Marko Smith

    Somente operações bit a bit para std::byte em C++ 17?

    • 1 respostas
  • Martin Hope
    fbrereto Por que a resolução de sobrecarga prefere std::nullptr_t a uma classe ao passar {}? 2023-12-21 00:31:04 +0800 CST
  • Martin Hope
    比尔盖子 Você pode usar uma lista de inicialização com chaves como argumento de modelo (padrão)? 2023-12-17 10:02:06 +0800 CST
  • Martin Hope
    Amir reza Riahi Por que as compreensões de lista criam uma função internamente? 2023-11-16 20:53:19 +0800 CST
  • Martin Hope
    Michael A formato fmt %H:%M:%S sem decimais 2023-11-11 01:13:05 +0800 CST
  • Martin Hope
    God I Hate Python std::views::filter do C++20 não filtrando a visualização corretamente 2023-08-27 18:40:35 +0800 CST
  • Martin Hope
    LiDa Cute Por que 'char -> int' é promoção, mas 'char -> short' é conversão (mas não promoção)? 2023-08-24 20:46:59 +0800 CST
  • Martin Hope
    jabaa Por que o construtor de uma variável global não é chamado em uma biblioteca? 2023-08-18 07:15:20 +0800 CST
  • Martin Hope
    Panagiotis Syskakis Comportamento inconsistente de std::common_reference_with em tuplas. Qual é correto? 2023-08-17 21:24:06 +0800 CST
  • Martin Hope
    Alex Guteniev Por que os compiladores perdem a vetorização aqui? 2023-08-17 18:58:07 +0800 CST
  • Martin Hope
    wimalopaan Somente operações bit a bit para std::byte em C++ 17? 2023-08-17 17:13:58 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve