CommencezCommencez gratuitement

PDE technos par année sur toutes les bourses

Chaque entreprise du dictionnaire listings a une année d'entrée 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 bourses et tracer la distribution des années d'IPO pour les entreprises du secteur des technologies. pandas sous pd et matplotlib.pyplot sous plt ont été importés, et le dictionnaire listings de l'exercice précédent est disponible dans votre espace de travail.

Cette activité fait partie du cours

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

Voir le cours

Instructions de l’exercice

  • Utilisez une boucle for avec la variable d'itération exchange qui contient le nom de chaque bourse.
    • À chaque itération, ajoutez au bout de all_listings le DataFrame correspondant à la clé exchange dans listings.
  • Après la boucle, utilisez pd.concat() pour combiner les trois DataFrames dans all_listings et assignez le résultat à listing_data.
  • Filtrez listing_data pour les entreprises 'Technology' et assignez le résultat à tech_companies.
  • Assignez 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 à 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 ce code d’exemple.

# 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