Descripción
En este reto, aprenderás a analizar datos financieros y a realizar visualizaciones avanzadas con Python y la biblioteca matplotlib. Utilizarás un conjunto de datos con precios históricos de criptomonedas para realizar un análisis exploratorio, calcular estadísticas descriptivas y generar gráficos detallados como gráficos de líneas, boxplots, gráficos de violín, barras apiladas, gráficos de dispersión y un heatmap de correlaciones. El objetivo es desarrollar tus habilidades en la visualización de datos financieros y obtener insights útiles sobre el comportamiento del mercado de criptomonedas.
1.- Configurar el entorno de trabajo:
- Abre Visual Studio Code y crea un nuevo proyecto.
- Importa las bibliotecas necesarias como:
pandas
,matplotlib
, etc. Ya están instaladas por lo que no necesitas instalarlas. - Crea un archivo
crypto_market_analysis.ipynb
donde desarrollarás el análisis avanzado del proyecto.
2.- Carga y limpieza del conjunto de datos:
- Carga el archivo
cryptocurrency_data.csv
utilizando pandas. El archivo contiene los precios históricos de las principales criptomonedas. Los datos han sido obtenidos del conjunto de datos "Top 50 Cryptocurrency Historical Prices". - Dado que estás trabajando en Visual Studio Code en un entorno web, es necesario utilizar rutas absolutas para cargar los archivos. Asegúrate de que la ruta absoluta a tu archivo de datos sea correcta, tal como se muestra en el siguiente ejemplo:
/workspace/cryptocurrency_data.csv
- Elimina duplicados y trata los valores nulos en las columnas:
- Imputa los valores faltantes en las columnas numéricas (
Price
,Vol.
) usando la mediana. - Asigna
'Unknown'
a las criptomonedas no identificadas en la columnaCurrency_Name
.
- Imputa los valores faltantes en las columnas numéricas (
3.- Conversión de columna Date
:
Guarda tu progreso
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
- Convierte la columna
Date
a formatodatetime
para facilitar el análisis temporal.
4.- Análisis descriptivo de los datos:
- Realiza un análisis descriptivo general utilizando
.describe()
para obtener estadísticas como la media, mediana y desviación estándar de las columnas de precios y volumen. - Usa
groupby
para calcular las estadísticas descriptivas por criptomoneda (Bitcoin, Ethereum, etc.).
5.- Visualización de datos avanzada:
- Crea las siguientes visualizaciones utilizando matplotlib:
- Gráfico de líneas mostrando el crecimiento de precios de Bitcoin a lo largo del tiempo.
- Filtra el conjunto de datos para que solo contenga información de Bitcoin.
- Utiliza
plt.plot()
para generar un gráfico de líneas.
- Boxplot comparando los precios de Bitcoin, Ethereum, y Aave sin valores atípicos.
- Filtra el conjunto de datos para que solo contenga Bitcoin, Ethereum, y Aave.
- Utiliza
plt.boxplot()
para generar el gráfico, y asegúrate de que los valores atípicos estén desactivados, puedes utilizarshowfliers=False
para desactivarlos.
- Gráfico de violín para visualizar la distribución de los precios de Ethereum.
- Filtra el conjunto de datos para que solo contenga información de Ethereum.
- Utiliza
plt.violinplot()
para generar el gráfico y asegúrate de incluir la media conshowmeans=True
.
- Gráfico de barras apiladas para mostrar el volumen de transacciones de las criptomonedas más importantes.
- Agrupa los datos por fecha (
Date
) y por criptomoneda (Currency_Name
), y suma los volúmenes (Vol.
) de transacciones para cada fecha y criptomoneda. - Usa
df.groupby()
para realizar la agregación yunstack()
para organizar los datos de forma que puedas graficarlos. - Genera un gráfico de barras apiladas con
df.plot(kind='bar', stacked=True)
.
- Agrupa los datos por fecha (
- Gráfico de dispersión para mostrar los precios de las criptomonedas a lo largo del tiempo.
- Asigna colores específicos a cada criptomoneda (Bitcoin: azul, Ethereum: verde, Aave: rojo).
- Usa
plt.scatter()
para generar un gráfico de dispersión donde el tamaño de los puntos dependa del precio de la criptomoneda.
- Gráfico de líneas comparando los precios de Bitcoin y Ethereum en un solo gráfico.
- Filtra los datos para Bitcoin y Ethereum.
- Usa
plt.plot()
para generar dos líneas, una para Bitcoin y otra para Ethereum.
- Heatmap que muestre la correlación entre los precios de varias criptomonedas.
- Calcula la correlación entre los precios de las criptomonedas usando
.corr()
. - Utiliza
plt.imshow()
para generar el heatmap de las correlaciones, asegurándote de elegir una paleta de colores comocoolwarm
para mostrar la variación de correlación. - Agrega una barra de color (
plt.colorbar()
) que represente los niveles de correlación.
- Calcula la correlación entre los precios de las criptomonedas usando
- Gráfico de líneas mostrando el crecimiento de precios de Bitcoin a lo largo del tiempo.
Solución al ejercicio
¡Desbloquea la solución completa!
Completa el examen para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.
Practica con exámenes de Matplotlib
Mejora tus habilidades con cientos de exámenes de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.
Retroalimentación
Aprende de tus errores
Progreso
Mide tu avance
Certificación
Valida tus habilidades
Únete a miles de desarrolladores mejorando sus habilidades