Index de l'article

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 
http://www.python-simple.com/python-pandas/panda-intro.php

Lien pointant vers la documentation officielle pandas.org:

Vous mettez la commande qui vous intéresse et regardez les propositions
https://pandas.pydata.org/docs/search.html?q=count#

 

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

 

Pièce(s) jointe(s)
Download this file (nat2019.csv)nat2019.csv[ ]11599 kB
Download this file (nat2019_simplifie.csv)nat2019_simplifie.csv[ ]2 kB