Exercice 3
Supposons que vous ayez les âges de 120 membres d'un club. Vous souhaitez calculer les effectifs des âges pour différentes tranches d'âge.
1 2 3 4 5 6 |
members_age = [22, 28, 34, 42, 19, 30, 41, 27, 33, 23, 29, 37, 40, 25, 31, 36, 20, 38, 26, 35, 21, 32, 39, 24, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68] tranche_age = [18, 25, 35, 45, 55, 65] |
1) Créer un programme en Python à l'aide de la bibliothèque numpy qui permet de calculer l'effectif pour chaque tranche d'age.
2) Créer un autre programme python basé sur numpy et matplotlib qui permet de générer le graphique des effectifs sous forme d'histogrammes.
Solution
Question 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import numpy as np # Âges des membres du club members_age = [22, 28, 34, 42, 19, 30, 41, 27, 33, 23, 29, 37, 40, 25, 31, 36, 20, 38, 26, 35, 21, 32, 39, 24, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68] # Tranches d'âge tranche_age = [18, 25, 35, 45, 55, 65] # Utilisation de numpy pour calculer les effectifs effectifs = np.histogram(members_age, bins=tranche_age)[0] # Affichage des effectifs pour chaque tranche d'âge for i, tranche in enumerate(zip(tranche_age, tranche_age[1:])): print(f"Effectif pour la tranche {tranche[0]}-{tranche[1]} : {effectifs[i]}") # Si vous voulez également inclure la dernière tranche print(f"Effectif pour les âges supérieurs à {tranche_age[-1]} : {len([a for a in members_age if a > tranche_age[-1]])}") """ output: Effectif pour la tranche 18-25 : 6 Effectif pour la tranche 25-35 : 10 Effectif pour la tranche 35-45 : 10 Effectif pour la tranche 45-55 : 10 Effectif pour la tranche 55-65 : 11 Effectif pour les âges supérieurs à 65 : 3 """ |
Question 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import numpy as np import matplotlib.pyplot as plt # Âges des membres du club members_age = [22, 28, 34, 42, 19, 30, 41, 27, 33, 23, 29, 37, 40, 25, 31, 36, 20, 38, 26, 35, 21, 32, 39, 24, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68] # Tranches d'âge tranche_age = [18, 25, 35, 45, 55, 65] # Utilisation de numpy pour calculer les effectifs effectifs = np.histogram(members_age, bins=tranche_age)[0] # Création du graphique des effectifs plt.bar([f"{tranche[0]}-{tranche[1]}" for tranche in zip(tranche_age, tranche_age[1:])], effectifs) plt.xlabel('Tranche d\'âge') plt.ylabel('Effectif') plt.title('Graphique des effectifs par tranche d\'âge') plt.show() |
Younes Derfoufi
CRMEF OUJDA