En este artículo, veremos cómo trazar múltiples marcos de datos de series temporales en un solo gráfico.
Si hay varias series temporales en un solo DataFrame, aún puede usar el método plot() para trazar un gráfico de líneas de todas las series temporales. Para trazar múltiples series de tiempo en un solo gráfico, primero debemos asegurarnos de que los índices de todos los marcos de datos estén alineados. Entonces, primero tomemos dos ejemplos en los que los índices están alineados y uno en el que tenemos que alinear los índices de todos los DataFrames antes de trazar.
Trazado de marcos de datos con el mismo índice de fecha y hora:
Paso 1: Importación de bibliotecas
Python3
# importing Libraries # import pandas as pd import pandas as pd # importing matplotlib module import matplotlib.pyplot as plt plt.style.use('default') # %matplotlib inline: only draw static # images in the notebook %matplotlib inline
Paso 2: Importación de datos
Graficaremos los precios abiertos de tres acciones de Tesla, Ford y motores generales. Puede descargar los datos desde aquí o desde la biblioteca de finanzas.
Archivo tesla:
Python3
# code # importing Data tesla = pd.read_csv('Tesla_Stock.csv', index_col='Date', parse_dates=True) tesla.head(10)
Producción:
Ford_stock:
Python3
# code # importing data ford = pd.read_csv('Ford_Stock.csv', index_col='Date', parse_dates=True) ford.head(10)
Producción:
GM_Stock:
Python3
# code # importing data gm = pd.read_csv('GM_Stock.csv', index_col='Date', parse_dates=True) # printing 10 entries of the data gm.head(10)
Producción:
Paso 3: ahora trazando los precios abiertos de las acciones
Python3
# code # Visualizing The Open Price of all the stocks # to set the plot size plt.figure(figsize=(16, 8), dpi=150) # using plot method to plot open prices. # in plot method we set the label and color of the curve. tesla['Open'].plot(label='Tesla', color='orange') gm['Open'].plot(label='GM') ford['Open'].plot(label='Ford') # adding title to the plot plt.title('Open Price Plot') # adding Label to the x-axis plt.xlabel('Years') # adding legend to the curve plt.legend()
Producción:
Trazado de marcos de datos con diferentes índices de fecha y hora:
En el segundo ejemplo, tomaremos los datos del precio de las acciones de Apple (AAPL) y Microsoft (MSFT) de diferentes períodos. Nuestra primera tarea aquí será volver a indexar cualquiera de los marcos de datos para alinearlos con el otro marco de datos y luego podemos trazarlos en un solo gráfico.
Paso 1: Importación de bibliotecas
Python3
# importing Libraries # import pandas as pd import pandas as pd # importing matplotlib module import matplotlib.pyplot as plt plt.style.use('default') # %matplotlib inline: only draw static images in the notebook %matplotlib inline
Paso 2: Importación de datos
Python3
# code aapl = pd.read_csv('aapl.csv', index_col='Date', parse_dates=True) # printing 10 entries of the data aapl.head(10)
Producción:
archivo msft:
Python3
# importing Data msft = pd.read_csv('msft.csv', index_col='Date', parse_dates=True) # printing 10 entries of the data msft.head(10)
Producción:
Como puede ver claramente, el índice DateTime de ambos DataFrames no es el mismo, por lo que primero debemos alinearlos. Cuando hagamos que el índice DateTime de msft sea el mismo que el de todos, entonces tendremos algunos valores faltantes para el período 2010-01-04 a 2012-01-02, antes de trazar Es muy importante eliminar los valores faltantes.
Python3
# Aligning index aapl["MSFT"] = msft.MSFT # removing Missing Values aapl.dropna(inplace=True) aapl.head(10)
Producción:
Hemos fusionado los dos DataFrames, en un solo DataFrame, ahora podemos simplemente trazarlo,
Python3
# Visualizing The Price of the stocks # to set the plot size plt.figure(figsize=(16, 8), dpi=150) # using .plot method to plot stock prices. # we have passed colors as a list aapl.plot(label='aapl', color=['orange', 'green']) # adding title plt.title('Price Plot') # adding label to x-axis plt.xlabel('Years') # adding legend. plt.legend()
Producción:
En algunos casos, no podemos darnos el lujo de perder datos, por lo que también podemos graficar sin eliminar los valores faltantes, la gráfica para el mismo se verá así:
Publicación traducida automáticamente
Artículo escrito por bistpratham y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA