CommencerCommencer gratuitement

Introductions en bourse technologiques par année sur toutes les places

Chaque entreprise dans le dictionnaire listings a une année d’introduction en bourse (IPO) entre 1972 et 2017. Dans ce contexte, il est donc pertinent de considérer la colonne 'IPO Year' de chaque feuille comme une variable catégorielle avec un ordre bien défini, même si son dtype est float64.

Ici, vous allez combiner les données des trois places boursières et tracer la distribution des années d’IPO pour les entreprises du secteur Technology. pandas sous l’alias pd et matplotlib.pyplot sous l’alias plt ont été importés, et le dictionnaire listings de l’exercice précédent est disponible dans votre espace de travail.

Cet exercice fait partie du cours

Importer et gérer des données financières en Python

Afficher le cours

Instructions

  • Utilisez une boucle for avec la variable d’itération exchange qui contient le nom de chaque place boursière.
    • À chaque itération, ajoutez le DataFrame correspondant à la clé exchange dans listings à all_listings.
  • Une fois la boucle terminée, utilisez pd.concat() pour combiner les trois DataFrames de all_listings et affectez le résultat à listing_data.
  • Filtrez listing_data pour les entreprises 'Technology' et affectez le résultat à tech_companies.
  • Affectez la colonne 'IPO Year' de tech_companies à ipo years.
  • Pour ces données, utilisez .dropna() pour supprimer les valeurs manquantes et .astype() pour convertir en int.
  • Appliquez .value_counts() à ipo_years, triez les années par ordre croissant et créez un diagramme en barres intitulé 'Tech IPOs by Year'.
  • Faites pivoter les xticks de 45 degrés et affichez le résultat.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()
Modifier et exécuter le code