Análisis mercado de criptomonedas

Proyecto
Experto
Matplotlib
Matplotlib
30 min
600 XP
Actualizado: 08/10/2024

¡Practica y certifícate!

Retroalimentación
Soluciones
Certificado
Comenzar

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 columna Currency_Name.

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.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

  • Convierte la columna Date a formato datetime 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 utilizar showfliers=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 con showmeans=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 y unstack() para organizar los datos de forma que puedas graficarlos.
      • Genera un gráfico de barras apiladas con df.plot(kind='bar', stacked=True).
    • 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 como coolwarm para mostrar la variación de correlación.
      • Agrega una barra de color (plt.colorbar()) que represente los niveles de correlación.

Solución al ejercicio

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el examen para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

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

⭐⭐⭐⭐⭐
4.9/5 valoración