reorganise doc and start presentation for stat module

This commit is contained in:
Benjamin Bertrand 2016-01-12 09:51:55 +03:00
parent 397f67db05
commit 2899ef9170
3 changed files with 128 additions and 11 deletions

View File

@ -3,15 +3,26 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to pyMath's documentation!
==================================
Bienvenu dans la documentation de pyMath
========================================
Contents:
pyMath est un ensemble de modules écris en Python qui vise à faciliter la conception d'exercices de math et leurs corrections.
Il est séparer en 3 parties:
- *calculus*: Cette partie gère les expressions mathématiques et leurs calculs.
- *stat*: Cette partie gère la gestion de donnée (création et analyse)
- *geometry*: (non faite) Cette partie gère la création de situations géométriques.
Sommaire:
.. toctree::
:maxdepth: 2
tutorial
presentation_calculs
presentation_stat
construction
polynom
code/pymath

View File

@ -1,11 +1,7 @@
Utilisation de pyMath
=====================
Présentation des outils de calculs de pyMath
============================================
À quoi sert pyMath?
-------------------
pyMath est un module python qui permet la manipulation d'expressions
mathématiques. Voici ce qu'il est capable de faire:
La partie calcul de pyMath est un module python qui permet la manipulation d'expressions mathématiques. Voici ce qu'il est capable de faire:
- *Calculer comme un collégien*: Pour faire de la correction automatisé
d'exercice, un logiciel de calcul formel ne suffit pas. Si les étapes

View File

@ -0,0 +1,110 @@
Présentation des outils de statistiques de pyMath
=================================================
La partie statistique de pyMath est un module python qui permet generer des données statistiques et de les analyser pour un niveau collège - début de lycée.
Analyse des données
-------------------
La gestion des données statistiques se fait à travers 2 classes: *Dataset* (ensemble de données) et *WeightedDataset* (ensemble de données pondérées).
.. code-block:: python
>>> from pytmath import Dataset, WeightedDataset
>>> d = Dataset([1, 3, 4, 2, 4, 1], data_name = "Points")
>>> print(d)
[1, 3, 4, 2, 4, 1]
>>> w = WeightedDataset({1:3, 2:4, 3:5}, data_name = "Nombre de frères", weight_name = "Effectifs" )
>>> print(w)
{1:3, 2:4, 3:5}
Le passage du *Dataset* à *WeightedDataset* revient à compter les effectifs de chaque classe (il n'est pas encore possible de définir des classes sous forme d'intervals).
.. code-block:: python
>>> W = WeightedDataset(d)
>>> print(W)
{1: 2, 2: 1, 3: 1, 4: 2}
Une fois les données définies, on peut calculer les indicateurs statistiques suivants:
- L'effectif total (ou la pondération totale):
.. code-block:: python
>>> d.effectif_total()
6
>>> w.effectif_total()
12
- La somme:
.. code-block:: python
>>> d.sum()
15
>>> w.sum() #/!\ c'est une somme pondérée
26
- La moyenne:
.. code-block:: python
>>> d.mean()
2.5
>>> w.mean()
2.17
- La variance et l'écart-type (sd):
.. code-block:: python
>>> d.variance()
1.58
>>> d.sd()
1.26
>>> w.variance()
0.64
>>> w.sd()
0.8
- Les quartiles et les valeurs extrèmes:
.. code-block:: python
>>> max(d)
4
>>> d.quartiles() #(min, Q1, Me, Q3, Max)
(1, 3, 3, 4, 4)
>>> d.quartile(1) # Q1
3
>>> min(w)
1
>>> w.quartiles() #(min, Q1, Me, Q3, Max)
(1, 1.5, 2, 3, 3)
>>> w.quartile(2) #Me
2
Enfin une fonction rudimentaire a été ajouté pour présenter ces données dans un tableau formaté pour Latex
.. code-block:: python
>>> print(d.tabular_latex())
\begin{tabular}{|c|*{6}{c|}}
\hline
1 & 3 & 4 & 2 & 4 & 1 \\
\hline
\end{tabular}
>>> print(w.tabular_latex())
\begin{tabular}{|c|*{3}{c|}}
\hline
Nombre de frères & 1 & 2 & 3 \\
\hline
Effectifs & 3 & 4 & 5 \\
\hline
\end{tabular}
Générer des données aléatoirement
---------------------------------