8.9 KiB
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName |
|---|---|---|---|---|
| 5e46f7f8ac417301a38fb92a | Visualizador de datos médicos | 10 | 462368 | medical-data-visualizer |
--description--
Estarás trabajando en este proyecto con nuestro código de inicio Replit.
Todavía estamos desarrollando la parte interactiva del currículo de Python. Por ahora, aquí hay algunos vídeos en nuestro canal de YouTube freeCodeCamp.org que te enseñará todo lo que necesitas saber para completer este proyecto:
--instructions--
En este proyecto, visualizarás y harás algunos cálculos a partir de datos de exámenes médicos utilizando matplotlib, seabron y pandas. Los valores del conjunto de datos (dataset) se recogieron durante los exámenes médicos.
Descripción de datos
Las filas del conjunto de datos representan a los pacientes y las columnas representan información como medidas corporales, resultados de varios análisis de sangre y opciones de estilo de vida. Utilizarás el conjunto de datos para explorar la relación entre enfermedades cardiacas, medidas del cuerpo, indicadores sanguíneos y opciones de estilo de vida.
Nombre del archivo: medical_examination.csv
<th align="center">
Tipo de variable
</th>
<th align="center">
Variable
</th>
<th align="center">
Tipo de unidad
</th>
<td align="center">
Característica objetivo
</td>
<td align="center">
<code>age</code>
</td>
<td align="center">
int (días)
</td>
<td align="center">
Característica objetivo
</td>
<td align="center">
<code>height</code>
</td>
<td align="center">
int (cm)
</td>
<td align="center">
Característica objetivo
</td>
<td align="center">
<code>weight</code>
</td>
<td align="center">
float (kg)
</td>
<td align="center">
Característica objetivo
</td>
<td align="center">
<code>gender</code>
</td>
<td align="center">
código de categoría
</td>
<td align="center">
Características del examen
</td>
<td align="center">
<code>ap_hi</code>
</td>
<td align="center">
int
</td>
<td align="center">
Característica del examen
</td>
<td align="center">
<code>ap_lo</code>
</td>
<td align="center">
int
</td>
<td align="center">
Característica del examen
</td>
<td align="center">
<code>cholesterol</code>
</td>
<td align="center">
1: normal, 2: por encima de lo normal, 3: muy por encima de lo normal
</td>
<td align="center">
Característica del examen
</td>
<td align="center">
<code>gluc</code>
</td>
<td align="center">
1: normal, 2: por encima de lo normal, 3: muy por encima de lo normal
</td>
<td align="center">
Característica subjetiva
</td>
<td align="center">
<code>smoke</code>
</td>
<td align="center">
binario
</td>
<td align="center">
Característica subjetiva
</td>
<td align="center">
<code>alco</code>
</td>
<td align="center">
binario
</td>
<td align="center">
Característica subjetiva
</td>
<td align="center">
<code>active</code>
</td>
<td align="center">
binario
</td>
<td align="center">
Variable objetivo
</td>
<td align="center">
<code>cardio</code>
</td>
<td align="center">
binario
</td>
| Característica |
|---|
| Edad |
| Altura |
| Peso |
| Sexo |
| Presión arterial sistólica |
| Presión arterial diastólica |
| Colesterol |
| Glucosa |
| Fumador |
| Consumo de alcohol |
| Actividad física |
| Presencia o ausencia de enfermedades cardiovasculares |
Tareas
Crear un gráfico similar a ejemplos/Figure_1. ng, donde mostramos las cifras de resultados buenos y malos para las variables colesterol, gluc, alco, activo y humo en los pacientes con cardio=1 y cardio=0 en diferentes paneles.
Utiliza los datos para completar las siguientes tareas en medical_data_visualizer.py:
-
Agrega una columna de
sobrepesoa los datos. Para determinar si una persona tiene sobrepeso, primero calcule su IMC dividiendo su peso en kilogramos por el cuadrado de su altura en metros. Si ese valor es > 25 entonces la persona tiene sobrepeso. Utilice el valor 0 para NO sobrepeso y el valor 1 para el sobrepeso. -
Normaliza los datos haciendo 0 siempre bueno y 1 siempre malo. Si el valor de
cholesterologluces 1, haga que el valor 0. Si el valor es mayor que 1, haga el valor 1. -
Convierte los datos en formato largo y crea un gráfico que muestre el recuento de valores de las características categóricas usando
catplot()de seaborn. El conjunto de datos debe dividirse por 'Cardio', así que hay un gráfico por cada valor decardio. El gráfico debería verse comoexamples/Figure_1.png. -
Limpia los datos. Filtrar los siguientes segmentos de pacientes que representan datos incorrectos:
-
la presión diastólica es más alta que la máxima (Mantén los datos correctos con
(df['ap_lo'] <= df['ap_hi'])) -
la altura es menor que el 2.5º percentil (Mantén los datos correctos con
(df['height'] >= df['height'].quantile(0.025))) - la altura es superior al 97,5º percentil
- el peso es menor que el 2,5º percentil
- el peso es superior al 97,5º percentil
-
la presión diastólica es más alta que la máxima (Mantén los datos correctos con
-
Crear una matriz de correlación usando el conjunto de datos. Grafica la matriz de correlación usando la función
heatmap()de seaborn. Enmascarar el triángulo superior de la matriz. El gráfico debería verse comoexamples/Figure_2.png.
Cada vez que una variable está establecida en Ninguno, asegúrese de establecerla en el código correcto.
Las pruebas unitarias están escritas en test_module.py.
Desarrollo
Para el desarrollo, puedes usar main.py para probar tus funciones. Haz clic en el botón "run" y se ejecutará main.py.
Pruebas
Hemos importado las pruebas de test_module.py a main.py para tu conveniencia. Las pruebas se ejecutarán automáticamente cada vez que pulses el botón "run".
Envío
Copia el enlace de tu proyecto y envíalo a freeCodeCamp.
--hints--
Debería pasar todas las pruebas de Python.
--solutions--
# Python challenges don't need solutions,
# because they would need to be tested against a full working project.
# Please check our contributing guidelines to learn more.