Gráfico de serie temporal o gráfico de líneas con pandas

Requisito previo: crear un marco de datos de Pandas a partir de listas

Pandas es una biblioteca de código abierto utilizada para la manipulación y el análisis de datos en Python. Es una herramienta rápida y poderosa que ofrece estructuras de datos y operaciones para manipular tablas numéricas y series de tiempo. Los ejemplos de estas operaciones de manipulación de datos incluyen la fusión, la remodelación, la selección, la limpieza de datos y la disputa de datos. Esta biblioteca permite importar datos de varios formatos de archivo como SQL, JSON, Microsoft Excel y valores separados por comas. Este artículo explica cómo utilizar la biblioteca pandas para generar un gráfico de serie temporal o un gráfico de líneas para un conjunto de datos determinado.

Un diagrama de líneas es una pantalla gráfica que representa visualmente la correlación entre ciertas variables o cambios en los datos a lo largo del tiempo utilizando varios puntos, generalmente ordenados en su valor del eje x, que están conectados por segmentos de línea recta. La variable independiente se representa en el eje x, mientras que el eje y representa los datos que cambian según la variable del eje x, también conocida como la variable dependiente.

Para generar un gráfico de líneas con pandas, normalmente creamos un DataFrame* con el conjunto de datos que se va a trazar. Luego, se llama al método plot.line() en el DataFrame. 

Sintaxis:

DataFrame.plot.line(x, y)
 

La siguiente tabla explica los principales parámetros del método:

Parámetro Valor Valor por defecto Usar
X Int o string Índices de tramas de datos Establezca los valores que se representarán en el eje x.
y Int o string Columnas restantes en DataFrame Establezca los valores que se representarán en el eje y.

Los parámetros adicionales incluyen color (especifica el color de la línea), título (especifica el título del gráfico) y tipo (especifica qué tipo de gráfico usar). La variable predeterminada para el parámetro «tipo» de este método es ‘línea’. Por lo tanto, no es necesario configurarlo para crear un diagrama de líneas.

Ejemplo 1:

El ejemplo ilustra cómo generar un gráfico de líneas básico de un DataFrame con una variable del eje y. Use pandas en Python3 para trazar los siguientes datos de la ingesta de calorías de alguien durante una semana, aquí está nuestro marco de datos.

Código:

Python3

import pandas as pd
  
# Create a list of data to be represented in x-axis
days = [ 'Saturday' , 'Sunday' , 'Monday' , 'Tuesday' ,
        'Wednesday' , 'Thursday' , 'Friday' ]
  
# Create a list of data to be 
# represented in y-axis
calories = [ 1670 , 2011 , 1853 , 2557 ,
            1390 , 2118 , 2063 ]
  
# Create a dataframe using the two lists
df_days_calories = pd.DataFrame(
    { 'day' : days , 'calories' : calories })
  
df_days_calories

Producción:

Ahora, graficando la variable.

Python3

# use plot() method on the dataframe
df_days_calories.plot( 'day' , 'calories' )
  
# Alternatively, you can use .set_index 
# to set the data of each axis as follows:
# df_days_calories.set_index('day')['calories'].plot();

Producción:

Ejemplo 2:

Este ejemplo explica cómo crear un diagrama de líneas con dos variables en el eje y.
Se le pidió a un estudiante que calificara su nivel de estrés en la semana de exámenes parciales para cada materia escolar en una escala del 1 al 10 (siendo 10 el más alto). También se le preguntó sobre su calificación en cada parcial (de 20). 

Código:

Python3

import pandas as pd
  
# Create a list of data to
# be represented in x-axis
subjects = [ 'Math' , 'English' , 'History' ,
            'Chem' , 'Geo' , 'Physics' , 'Bio' , 'CS' ]
  
# Create a list of data to be 
# represented in y-axis
stress = [ 9 , 3 , 5 , 1 , 8 , 5 , 10 , 2 ]
  
# Create second list of data
# to be represented in y-axis
grades = [ 15 , 10 , 7 , 8 , 11 , 8 , 17 , 20 ]
  
# Create a dataframe using the three lists
df = pd.DataFrame(list(zip( stress , grades )),
                  index = subjects , 
                  columns = [ 'Stress' , 'Grades' ])
df

Producción:

Crea un diagrama de líneas que muestre las relaciones entre estas tres variables.

Código:

Python3

# use plot() method on the dataframe. 
# No parameters are passed so it uses
# variables given in the dataframe
df.plot()

Producción:

Una forma alternativa sería usar el método gca() de la biblioteca matplotlib.pyplot de la siguiente manera:

Python3

import pandas as pd
import matplotlib.pyplot as plt
  
# Create a list of data
# to be represented in x-axis
subjects = [ 'Math' , 'English' , 'History ',
            'Chem' , 'Geo' , 'Physics' , 'Bio' , 'CS' ]
  
# Create a list of data
# to be represented in y-axis
stress = [ 9, 3 , 5 , 1 , 8 , 5 , 10 , 2 ]
  
# Create second list of data to be represented in y-axis
grades = [ 15, 10 , 7 , 8 , 11 , 8 , 17 , 20 ]
  
# Create a dataframe using the two lists
df_days_calories = pd.DataFrame(
    { 'Subject' : subjects , 
     'Stress': stress , 
     'Grade': grades})
  
ax = plt.gca()
  
#use plot() method on the dataframe
df_days_calories.plot( x = 'Subject' , y = 'Stress', ax = ax )
df_days_calories.plot( x = 'Subject' , y = 'Grade' , ax = ax )

Producción:

Ejemplo 3:

En este ejemplo, crearemos un gráfico sin definir explícitamente listas de variables. También agregaremos un título y cambiaremos el color.
Un coleccionista de monedas tiene inicialmente 30 monedas. Después de eso, durante un mes, encuentra una moneda todos los días. Muestra en un gráfico lineal cuántas monedas tiene cada día de ese mes.

Python3

import pandas as pd
  
#initialize the temperature value at the first day of the month
c = 30
  
# Create a dataframe using the three lists
# the y-axis variable is a list created using
# a for loops, in each iteration, 
# it adds 1 to previous value
# the x-axis variable is a list of values ranging
# from 1 to 31 (31 not included) with a step of 1
df = pd.DataFrame([ c + x for x in range( 0 , 30 )],
                  index = [*range( 1 , 31 , 1 )],
                  columns = [ 'Temperature (C)' ])
  
# use plot() method on the dataframe. 
# No parameters are passed so it uses 
# variables given in the dataframe
df.plot(color='red', title = 'Total Coins per Day')

Producción:

Ejemplo 4:

En este ejemplo, trazaremos columnas específicas de un marco de datos. El marco de datos consta de tres listas, sin embargo, seleccionaremos dos listas solo para agregar al gráfico.

Código:

Python3

import pandas as pd
  
# Create a dataframe using three lists
df = pd.DataFrame(
    {'List1': [ 1 , 2 , 3 , 4 , 5 , 6 ], 
     'List2': [ 5 , 10 , 15 , 20 , 25 , 30 ], 
     'List3': [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' ]})
  
# use plot() method on the dataframe.
# List3 is in the x-axis and List2 in the y-axis
df.plot( 'List3' , 'List2' )

Producción:

Publicación traducida automáticamente

Artículo escrito por arwaaalkindi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *