Page 5 sur 8
Données, Pandas et quelques calculs
Pour aller plus loin, sachez que pandas est aussi redoutable en manipulation de données et en calculs. Pour preuve ce qui suit. En dessous quelques liens pour vous permettre d'approfondir si jamais vous vous lancez dans l'analyse des données structurées dans le cadre de votre projet de grand oral en terminal...
Lien pointant vers un site présentant les commandes de bases pour pandas |
Lien pointant vers la documentation officielle pandas.org: Vous mettez la commande qui vous intéresse et regardez les propositions |
Tester puis comprendre
#ceci est un script
import pandas as pd
url="https://www.ipa-troulet.fr/cours/attachments/article/577/nat2019_simplifie.csv"
donnees = pd.read_csv(url, sep=";",encoding="utf-8")
#
print(" Pour rappel Table de donnée")
print(donnees)
print()
#
print("1 exemple tri des données")
print(donnees.sort_values(by='nombre',ascending=False))
print(donnees.sort_values(by = ['annais', 'nombre'], ascending = [True, False]))
# affectation d'un dataframe trié à un autre dataframe
maliste_tri=donnees.sort_values(by = ['annais', 'nombre'], ascending = [True, False])
print("une valeur =",maliste_tri.values[0][3])
print()
#
print("2 exemple de filtre des données")
print(donnees.loc[donnees['preusuel']=="INDY",:])
print(donnees.loc[(donnees['preusuel']=="INDY") & (donnees['annais']>="2016"),:])
monfiltre=donnees.loc[(donnees['preusuel']=="INDY") & (donnees['annais']>="2016"),:]
calc=monfiltre.values[0][3]+monfiltre.values[1][3]
print("un calcul =",calc)
print()
#
print("3 analyse des données")
print(donnees.describe(include='all'))
print("***")
print(donnees.shape)
print(donnees.count())
print(donnees.mean())
print()
#
print("4 décompte des valeurs d'un index")
print(donnees['preusuel'].value_counts())
print(donnees['sexe'].value_counts())
print()
Explication de texte du résultat
A la lecture du résultat du dessous je comprends:
- que je peux trier, extraire, et calculer
- que les données d'un dataframe s'appelle avec la méthode .values ce qui n'est pas le cas des données d'une liste
\\ceci n'est pas un script//
>>> %Run 'python dpt2019 simplifie.py'
Pour rappel Table de donnée
sexe preusuel annais nombre
0 1 INDY 2013 3
1 1 INDY 2014 6
2 1 INDY 2016 4
3 1 INDY 2017 7
4 1 INDY 2018 10
.. ... ... ... ...
137 2 JEANNE 1901 14963
138 2 JEANNE 1902 14927
139 2 JEANNE 1903 15017
140 2 JEANNE 1904 14908
141 2 JEANNE 1905 15114
[142 rows x 4 columns]
1 exemple tri des données
sexe preusuel annais nombre
141 2 JEANNE 1905 15114
139 2 JEANNE 1903 15017
137 2 JEANNE 1901 14963
138 2 JEANNE 1902 14927
140 2 JEANNE 1904 14908
.. ... ... ... ...
32 1 LILIAM 2005 3
107 2 JEANNA 1929 3
108 2 JEANNA 1932 3
30 1 LILAN 2009 3
0 1 INDY 2013 3
[142 rows x 4 columns]
sexe preusuel annais nombre
136 2 JEANNE 1900 13981
137 2 JEANNE 1901 14963
138 2 JEANNE 1902 14927
139 2 JEANNE 1903 15017
140 2 JEANNE 1904 14908
.. ... ... ... ...
105 2 JEANISE XXXX 18
96 2 JEANINNE XXXX 16
85 2 ELIORA XXXX 15
6 1 INDY XXXX 11
102 2 JEANIQUE XXXX 11
[142 rows x 4 columns]
une valeur = 13981
2 exemple de filtre des données
sexe preusuel annais nombre
0 1 INDY 2013 3
1 1 INDY 2014 6
2 1 INDY 2016 4
3 1 INDY 2017 7
4 1 INDY 2018 10
5 1 INDY 2019 4
6 1 INDY XXXX 11
sexe preusuel annais nombre
2 1 INDY 2016 4
3 1 INDY 2017 7
4 1 INDY 2018 10
5 1 INDY 2019 4
6 1 INDY XXXX 11
un calcul = 11
3 analyse des données
sexe preusuel annais nombre
count 142.000000 142 142 142.000000
unique NaN 13 80 NaN
top NaN JEANNA XXXX NaN
freq NaN 30 9 NaN
mean 1.626761 NaN NaN 633.640845
std 0.485377 NaN NaN 2990.967917
min 1.000000 NaN NaN 3.000000
25% 1.000000 NaN NaN 3.000000
50% 2.000000 NaN NaN 5.000000
75% 2.000000 NaN NaN 10.000000
max 2.000000 NaN NaN 15114.000000
***
(142, 4)
sexe 142
preusuel 142
annais 142
nombre 142
dtype: int64
sexe 1.626761
nombre 633.640845
dtype: float64
4 décompte des valeurs d'un index
JEANNA 30
INEL 23
DANNY 15
LILIAN 15
JEANINNE 11
DANUTA 10
ELIORA 8
INDY 7
LILIAM 6
JEANIQUE 6
JEANNE 6
JEANISE 3
LILAN 2
Name: preusuel, dtype: int64
2 89
1 53
Name: sexe, dtype: int64