Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes |
teaching:progappchim:pandas [2019/03/11 06:54] – villersd | teaching:progappchim:pandas [2020/03/10 09:01] – [Exemples divers] villersd |
---|
| |
===== Applications, exemples ===== | ===== Applications, exemples ===== |
| |
| ==== Préambule : variable aléatoire et distributions ==== |
| |
| De nombreuses grandeurs mesurées suivent une loi de distribution normale pour leur probabilité : //cf.// [[wp>fr:Loi_normale|Loi normale]] |
| |
| Voir aussi les documents de statistique élémentaire (niveau licence, France) sur le site [[http://wikistat.fr/|wikistat.fr]] |
| |
| * **Variable aléatoire** : une variable aléatoire $X$ est définie sur l'espace des observables (espace des événements possibles). À chaque valeur possible $x$ correspond une probabilité $P(x)$ que $X$ soit égale à $x$ |
| * Variable aléatoire discrète : si $x_1, x_2, x_3, ...$ constitue l'ensemble discret des valeurs possibles de $X$, les $P(x_i)$ forment la **distribution de probabilité** de la variable aléatoire $X$ |
| * Variable aléatoire continue : si $x$ peut varier continûment, $P(x)$ est la densité de probabilité que la variable prenne une valeur comprise entre $x$ et $x+dx$. L'unité de $P(x)$ est donc en inverse de celle de l'espace des $x$ et seul $P(x) dx$ a la dimension d'une probabilité (nombre) : $P(x) dx = P(x \le X < x+dx)$ |
| * Positivité : |
| * $P(x_i) \ge 0$ pour tout $x_i$ (variable aléatoire discrète) |
| * $P(x) \ge 0$ pour tout $x$ (variable aléatoire continue) |
| * Normalisation : |
| * $\sum_{x_i} P(x_i) =1$ (variable aléatoire discrète) |
| * $\int_{\Omega} P(x) dx = 1$ (variable aléatoire continue) |
| * Toute l'information sur une expérience est contenue dans la distribution $P(x)$} |
| * Une description **équivalente** est donnée par l'ensemble de toutes les grandeurs caractéristiques appelées {\bf moments de la distribution} : |
| * $<X^n> = \sum_i x_i^n P(x_i)$ (variable aléatoire discrète, avec n fini) |
| * $<X^n> = \int_{\Omega} x^n P(x) dx$ (variable aléatoire continue, avec n infini) |
| * Une description **simplifiée** est obtenue en ne tenant compte que de quelques plus petites valeurs de n : |
| * Premier moment: moyenne $<X>$ (ou [[http://fr.wikipedia.org/wiki/Esp%C3%A9rance_math%C3%A9matique|espérance mathématique]]) |
| * Second moment: largeur de la distribution ([[http://fr.wikipedia.org/wiki/Variance_%28statistiques_et_probabilit%C3%A9s%29|variance]] $\sigma^2$) |
| * Troisième moment : asymétrie ([[http://fr.wikipedia.org/wiki/Skewness|skewness]]) |
| * Quatrième moment : aplatissement ([[http://fr.wikipedia.org/wiki/Kurtosis|kurtosis]]) |
| * ... |
| * Les deux premiers moments |
| * **Valeur moyenne ou espérance** |
| * $<X> = \sum_i x_i \ P(x_i)$ ou $<X> = \int_{{\Omega}} x \ P(x) dx$ avec ${\Omega}$ le volume de l'espace des phases/observables |
| * **Variance** |
| * La variance $Var(X)$ ou $\sigma^2$ caractérise la largeur de la distribution (ou l'écart à la moyenne) : $\sigma^2 = <(X - <X>)^2> = <X^2> - <X>^2$. La racine carrée est l'écart type, $\sigma$. |
| |
==== Statistiques sur les dimensions des humains (body dimensions) ==== | ==== Statistiques sur les dimensions des humains (body dimensions) ==== |
| |
Programme basé sur [[http://jse.amstat.org/v11n2/datasets.heinz.html|Exploring Relationships in Body Dimensions]]. | Programme basé sur [[http://jse.amstat.org/v11n2/datasets.heinz.html|Exploring Relationships in Body Dimensions]]. |
| |
* autres représentations | * autres représentations |
* différentiation suivant le genre, l'âge | * différentiation suivant le genre, l'âge |
| * utiliser d'autres fonctions, comme nsmallest() et nlargest(), value_counts() (se baser sur la documentation officielle) |
* ... | * ... |
| |
<code python > | <code python jse-dataset-body-dimensions-read-10.py> |
#!/usr/bin/env python3 | #!/usr/bin/env python3 |
# -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- |
df.Weight.plot.hist() | df.Weight.plot.hist() |
</code> | </code> |
| |
| ===== Interface utilisateur graphique ===== |
| * [[https://github.com/adamerose/pandasgui|PandasGUI]] |
| * [[https://github.com/tkrabel/bamboolib|bamboolib]] (closed source - non libre) |
| |
===== Références ===== | ===== Références ===== |
* [[https://mubaris.com/2017-09-25/python-data-analysis-with-pandas|Python Data Analysis with pandas]] | * [[https://mubaris.com/2017-09-25/python-data-analysis-with-pandas|Python Data Analysis with pandas]] |
* [[https://www.edureka.co/blog/python-pandas-tutorial/|Python Pandas Tutorial : Learn Pandas for Data Analysis]] | * [[https://www.edureka.co/blog/python-pandas-tutorial/|Python Pandas Tutorial : Learn Pandas for Data Analysis]] |
| * [[https://medium.com/dunder-data/minimally-sufficient-pandas-a8e67f2a2428|Minimally Sufficient Pandas]] |
| * //cf.// aussi [[https://github.com/tdpetrou/Master-Data-Analysis-with-Python|Master Data Analysis with Python]] et les données disponibles comme exemples |
* [[https://towardsdatascience.com/python-for-data-science-8-concepts-you-may-have-forgotten-i-did-825966908393|Python for Data Science: 8 Concepts You May Have Forgotten]] | * [[https://towardsdatascience.com/python-for-data-science-8-concepts-you-may-have-forgotten-i-did-825966908393|Python for Data Science: 8 Concepts You May Have Forgotten]] |
* [[https://towardsdatascience.com/23-great-pandas-codes-for-data-scientists-cca5ed9d8a38|23 great Pandas codes for Data Scientists]] | * [[https://towardsdatascience.com/23-great-pandas-codes-for-data-scientists-cca5ed9d8a38|23 great Pandas codes for Data Scientists]] |
* [[https://github.com/fonnesbeck/statistical-analysis-python-tutorial|Statistical Data Analysis in Python]] | * [[https://github.com/fonnesbeck/statistical-analysis-python-tutorial|Statistical Data Analysis in Python]] |
* [[http://cmdlinetips.com/2018/03/how-to-make-boxplots-in-python-with-pandas-and-seaborn/|How to Make Boxplots in Python with Pandas and Seaborn?]] (and Gapminder dataset) | * [[http://cmdlinetips.com/2018/03/how-to-make-boxplots-in-python-with-pandas-and-seaborn/|How to Make Boxplots in Python with Pandas and Seaborn?]] (and Gapminder dataset) |
* [[https://www.geeksforgeeks.org/box-plot-visualization-with-pandas-and-seaborn/|Box plot visualization with Pandas and Seaborn]] | * [[https://www.geeksforgeeks.org/box-plot-visualization-with-pandas-and-seaborn/|Box plot visualization with Pandas and Seaborn] |
| * [[https://towardsdatascience.com/complete-guide-to-data-visualization-with-python-2dd74df12b5e|Complete Guide to Data Visualization with Python]] (avec différentes librairies : matplotlib, Seaborn, bokeh, Altair, Folium avec des cartes,...) |
| |
| ==== Datasets ==== |
| * [[https://archive.ics.uci.edu/ml/datasets/Adult|Adult Data Set]] Predict whether income exceeds $50K/yr based on census data. Also known as "Census Income" dataset |
| * [[https://archive.ics.uci.edu/ml/datasets.php]] |
| |
==== Exemples divers ==== | ==== Exemples divers ==== |
* régressions linéaires : | * régressions linéaires : |
* [[http://www.xavierdupre.fr/app/ensae_teaching_cs/helpsphinx/notebooks/td2a_eco_regressions_lineaires.html]] | * [[http://www.xavierdupre.fr/app/ensae_teaching_cs/helpsphinx/notebooks/td2a_eco_regressions_lineaires.html]] |
| * [[https://towardsdatascience.com/effectively-visualize-data-across-time-to-tell-better-stories-2a2c276e031e|Effectively visualize data across time to tell better stories]] (Pandas & Plotly) |
| |