Utilizar merge_asof() para crear un conjunto de datos
La función merge_asof()
puede utilizarse para crear conjuntos de datos en los que tienes una tabla de fechas de inicio y fin, y quieres utilizarlas para crear una bandera en otra tabla. Te han dado gdp
, que es una tabla de valores trimestrales del PIB de EEUU durante la década de 1980. Además, se te ha entregado la tabla recession
. Contiene la fecha de inicio de cada recesión en EEUU desde 1980, y la fecha en que se declaró que la recesión había terminado. Utiliza merge_asof()
para fusionar las tablas y crear una bandera de estado si un trimestre fue durante una recesión. Por último, para comprobar tu trabajo, representa los datos en un diagrama de barras.
Las tablas gdp
y recession
se han cargado para ti.
Este ejercicio forma parte del curso
Unir datos con pandas
Instrucciones del ejercicio
- Utilizando
merge_asof()
, fusionagdp
yrecession
endate
, congdp
como tabla izquierda. Guarda en la variablegdp_recession
. - Crea un
list
utilizando una comprensión de lista y una expresión condicional, denominadais_recession
, donde para cada fila si el valorgdp_recession['econ_status']
es igual a "recesión" entonces introduce'r'
si no'g'
. - Utilizando
gdp_recession
, traza un gráfico de barras degdp
frente adate
, estableciendo el argumentocolor
igual ais_recession
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Merge gdp and recession on date using merge_asof()
gdp_recession = ____
# Create a list based on the row value of gdp_recession['econ_status']
is_recession = ['____' if s=='recession' else '____' for s in gdp_recession['econ_status']]
# Plot a bar chart of gdp_recession
gdp_recession.plot(kind=____, y=____, x=____, color=____, rot=90)
plt.show()