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 07:28] – villersd | teaching:progappchim:pandas [2020/12/24 10:51] – [Références] villersd |
---|
* [[http://pandas.pydata.org/pandas-docs/version/0.20/cookbook.html|cookbook]] | * [[http://pandas.pydata.org/pandas-docs/version/0.20/cookbook.html|cookbook]] |
* [[http://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html|Visualisation]] | * [[http://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html|Visualisation]] |
| * [[https://www.datacamp.com/community/blog/python-pandas-cheat-sheet|Pandas Cheat Sheet for Data Science in Python]] |
| |
===== 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) |
* ... | * ... |
| |
df.Weight.plot.hist() | df.Weight.plot.hist() |
</code> | </code> |
| |
| ===== Interface utilisateur graphique ===== |
| * [[https://github.com/adamerose/pandasgui|PandasGUI]] |
| * [[https://towardsdatascience.com/pandasgui-analyzing-pandas-dataframes-with-a-graphical-user-interface-36f5c1357b1d|PandasGUI: Analyzing Pandas dataframes with a Graphical User Interface - Accessing Pandas Dataframes with a simple click of the mouse]] Parul Pandey, Medium, 24/10/2020 |
| * [[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]] |
* [[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,...) |
| * [[https://towardsdatascience.com/introducing-bamboolib-a-gui-for-pandas-4f6c091089e3|Introducing Bamboolib — a GUI for Pandas]] (utilisation gratuite ou payante via une activation nécessaire dans jupyter) |
| * [[https://bamboolib.8080labs.com/]] |
| * [[https://github.com/tkrabel/bamboolib]] |
| * [[https://towardsdatascience.com/violin-plot-its-time-to-ditch-the-box-plots-785629b0ff3a|Violin Plot — It’s Time to Ditch the Box Plots]] |
| * [[https://towardsdatascience.com/reshape-pandas-dataframe-with-melt-in-python-tutorial-and-visualization-29ec1450bb02|Reshape pandas dataframe with melt in Python — tutorial and visualization]] |
| * [[https://pandas.pydata.org/docs/reference/api/pandas.melt.html|pandas.melt]] (documentation) |
| * groupby : |
| * [[https://towardsdatascience.com/learn-how-to-master-groupby-function-in-python-now-4620dd463224|Learn how to master groupby function in Python now | by WY Fok | Towards Data Science]] |
| * [[https://towardsdatascience.com/less-known-pandas-groupby-applications-in-python-72fb304a1973|Less known Pandas groupby applications in Python | by WY Fok | Aug, 2020 | Towards Data Science]] |
| * remplacer Excel (ou calc de libreoffice) |
| * [[https://towardsdatascience.com/how-to-ditch-excel-a-primer-to-python-c4a9c192e993|Ditch Excel! — A Primer to Python - Pandas one-liners for popular excel stuff]], Medium 01/09/2020 |
| * [[https://towardsdatascience.com/how-not-to-write-pandas-code-2cbda8b3816c|How NOT to write pandas code]] |
| * [[https://towardsdatascience.com/40-examples-to-master-pandas-c69d058f434e|40 Examples to Master Pandas - A comprehensive practical guide]] |
| |
| ==== 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) |
| |