ComenzarEmpieza gratis

OPVs de tecnología por año en todos los mercados

Cada empresa en el diccionario listings tiene un año de OPV entre 1972 y 2017. Por lo tanto, en este contexto, es apropiado considerar la columna 'IPO Year' de cada hoja como una variable categórica con un orden bien definido aunque su dtype sea float64.

Aquí combinarás los datos de los tres mercados y representarás la distribución de los años de OPV para las empresas del sector Technology. pandas como pd y matplotlib.pyplot como plt ya se han importado, y el diccionario listings del ejercicio anterior está en tu espacio de trabajo.

Este ejercicio forma parte del curso

Importación y gestión de datos financieros en Python

Ver curso

Instrucciones del ejercicio

  • Usa un bucle for con la variable iteradora exchange que contiene el nombre de cada mercado.
    • En cada iteración, añade el DataFrame correspondiente a la clave exchange en listings a all_listings.
  • Cuando termine el bucle, usa pd.concat() para combinar los tres DataFrames en all_listings y asigna el resultado a listing_data.
  • Filtra listing_data por empresas 'Technology' y asigna el resultado a tech_companies.
  • Asigna la columna 'IPO Year' de tech_companies a ipo years.
  • Para estos datos, usa .dropna() para eliminar los valores faltantes y .astype() para convertir a int.
  • Aplica .value_counts() a ipo_years, ordena los años en orden ascendente y crea un gráfico de barras con el título 'Tech IPOs by Year'.
  • Rota las xticks 45 grados y muestra el resultado.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Create lists
exchanges = ['amex', 'nasdaq', 'nyse']
all_listings = []

# Use for loop to create listing_data
for exchange in exchanges:
    all_listings.____(____[____])
    
# Combine DataFrames
listing_data = pd.____(____)

# Select tech companies
tech_companies = listing_data[____.____ == 'Technology']

# Create ipo_years
ipo_years = ____[____]

# Drop missing values and convert to int
ipo_years = ipo_years.____().____(int)

# Count values, sort ascending by year, and create a bar plot
ipo_years.____().plot(kind=____, ____='Tech IPOs by Year')

# Rotate xticks and show result
plt.xticks(____=____)

# Show the plot
plt.show()
Editar y ejecutar código