Skip to content

Commit d6e70db

Browse files
committed
plan
1 parent 7ee259b commit d6e70db

File tree

2 files changed

+160
-0
lines changed

2 files changed

+160
-0
lines changed
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
.. _l-feuille-route-2026-2:
2+
3+
==========================================
4+
2026-04-13 : feuille de route 2026 - avril
5+
==========================================
6+
7+
site web : `sdpython.github.io <https://sdpython.github.io/>`_
8+
9+
`Apprendre la programmation avec Python
10+
<https://sdpython.github.io/doc/teachpyx/dev/>`_
11+
12+
Journée 1 (13/4) - Data Analyse
13+
===============================
14+
15+
**Objectif de la journée : créer une base de données avec le résultat des élections municipales**
16+
17+
raccourci : https://github.com/sdpython/teachdata/tree/main/municipales
18+
19+
* quelques mots sur ChatGPT, Gemini, Claude, et la notion de vibe-coding
20+
* on code moins, on lit plus, mais il faut toujours comprendre le code
21+
22+
L'objectif de cette seconde journée sera de manipuler des données
23+
avec :epkg:`pandas`, :epkg:`numpy` pour construire une feuille
24+
Excel avec un graphe automatiquement depuis Python.
25+
26+
* :epkg:`numpy`
27+
* :epkg:`pandas`
28+
* :epkg:`matplotlib`
29+
* :epkg:`seaborn`
30+
* :epkg:`statsmodels`
31+
* :epkg:`skrub`
32+
* :epkg:`scikit-learn`
33+
34+
**Exercices numpy**
35+
36+
* :ref:`Calcul matriciel avec numpy <nbl-c_data-nb_numpy>`
37+
* :ref:`numpy broadcast <nbl-c_data-numpy_broadcast>`
38+
* :ref:`Pivot de Gauss <nbl-practice-years-2023-pivot_gauss>`
39+
40+
**Exercices pandas**
41+
42+
* :ref:`l-example-serialization`
43+
* :ref:`l-example-plot-groupby`
44+
* :ref:`Manipulation de données avec pandas <nbl-c_data-nb_pandas>`
45+
46+
**Quelques exercices pour plus d'agilité**
47+
48+
* que vaut ``1/2`` ? et ``1//2`` ?
49+
* retourner une liste (obtenir une liste dans l'autre sens)
50+
* calculer le nombre d'occurences des éléments d'une liste (histogrammes)
51+
* modifier un élément d'un tuple
52+
* retourner un dictionnaire : que fait-on des doublons ?
53+
* trouver le minimum dans un tableau
54+
* trier un tableau
55+
* transformer une liste en un dictionnaire et réciproquement
56+
* comment multiplier une chaîne de caractère ?
57+
* écrire une boucle ``for`` et la même avec une boucle ``while``
58+
* écrire un test
59+
* écrire une fonction qui vérifie si une chaîne de caractères est symétrique
60+
* écrire une fonction qui retourne une chaîne de caractères sans ses voyelles
61+
62+
*fonctions*
63+
64+
* fonction, paramètre par défaut
65+
* arguments positionnels, arguments nommés
66+
* écrire une fonction récursive
67+
* écrire une fonction qui calcule la suite de Fibonacci ?
68+
* écriture ``*args``, ``**kwargs`` ?
69+
* comment espionner une autre fonction ?
70+
71+
*graphes*
72+
73+
* comment représenter un graphe de type facebook à l'aide dictionnaires ?
74+
* compter le nombre d'amis en commun ?
75+
* compter le nombre moyen de connexions ?
76+
* comment obtenir la liste des membres du graphes ?
77+
78+
**Exercices plus longs**
79+
80+
* :ref:`Variables, boucles, tests <nbl-practice-tds-base-variable_boucle_tests>`
81+
* :ref:`Structures de données <nbl-practice-py-base-structures_donnees_conversion>`
82+
* :ref:`Tracer une pyramide bigarrée <nbl-practice-tds-base-pyramide_bigarree>`
83+
* :ref:`Recherche dichotomique <nbl-practice-py-base-recherche_dichotomique>`
84+
* :ref:`Tri plus rapide que prévu <nbl-practice-py-base-tri_nlnd>`
85+
* :ref:`l-exp-mathador`
86+
* :ref:`Un bref aperçu des classes <nbl-practice-py-base-classes_metro>`
87+
* :ref:`Prises aux dames <nbl-practice-py-base-dame_prise>`
88+
* :ref:`les itérateurs <nbl-practice-py-base-classe_iterateur>`
89+
* :ref:`Quelques programmes truffés d'erreurs <nbl-practice-exams-interro_rapide_20_minutes_2014_11>`
90+
91+
**Exercices plus costauds**
92+
93+
* `Lettres et encodages <https://sdpython.github.io/doc/teachpyx/dev/_downloads/032ccfaa7b99eb2a4b992aaa3bc48c34/td_note_2023-2024.pdf>`_
94+
* `Câblages électriques <https://sdpython.github.io/doc/teachpyx/dev/_downloads/8b77610717572d8d8899c825964056bb/td_note_2024.pdf>`_
95+
* `Dessin d'un arbre <https://sdpython.github.io/doc/teachpyx/dev/_downloads/538fb74f2b1a76ede9cb20e40bb4b8af/td_note_2022_rattrapage2.pdf>`_
96+
(`correction <https://sdpython.github.io/doc/teachpyx/dev/practice/exams/td_note_2022_rattrapage2.html>`_)
97+
98+
**PDF**
99+
100+
.. code-block:: python
101+
102+
from pypdf import PdfReader, PdfWriter
103+
from reportlab.pdfgen import canvas
104+
from reportlab.lib.pagesizes import letter
105+
106+
# ...
107+
108+
Journée 2 (14/4)
109+
================
110+
111+
**Partie 1**
112+
113+
* :ref:`exceptions`
114+
* :ref:`l-regex`, :ref:`Expressions régulières <nbl-practice-py-base-exercice_regex>`
115+
* :mod:`pickle`, fichiers pickle (voir :ref:`chap_serialization`)
116+
* récupération des fichiers préparés pour la formation avec pandas
117+
* utilisation de :epkg:`skrub` pour avoir un premier aperçu ou
118+
:epkg:`pandas-profiling`, (voir aussi :epkg:`orange3`)
119+
* première jointure
120+
121+
**Partie 2**
122+
123+
* introduction de :epkg:`scikit-learn`
124+
* valeurs manquantes, remplacement simple (moyenne),
125+
corrélations (:class:`sklearn.impute.KNNImputer`), prédictions
126+
(:class:`sklearn.impute.IterativeImputer`),
127+
(voir `sklearn.impute <https://scikit-learn.org/stable/api/sklearn.impute.html>`_)
128+
* premières impressions
129+
* exemples classique pour traiter, enrichir un jeux de données :
130+
`skrub tutorial <https://skrub-data.org/stable/auto_examples/00_getting_started.html>`_,
131+
voir aussi
132+
`AggJoiner on a credit fraud dataset <https://skrub-data.org/stable/auto_examples/08_join_aggregation.html>`_
133+
* :class:`sklearn.pipeline.Pipeline`, :class:`sklearn.compose.ColumnTransformer`,
134+
:class:`sklearn.pipeline.FeatureUnion`
135+
* Dates, Catégories : :epkg:`category_encoders`, :epkg:`skrub`,
136+
:ref:`Prétraitement des catégories <nbl-practice-ml-pretraitement_cat>`
137+
* Son : :epkg:`librosa`, voir :ref:`Prétraitement du son <nbl-practice-ml-pretraitement_son>`
138+
* Image : :epkg:`scikit-image`, voir :ref:`Prétraitement d'une image <nbl-practice-ml-pretraitement_image>`
139+
* Texte : :ref:`Prétraitement du texte <nbl-practice-ml-pretraitement_texte>`
140+
141+
Journée 3 (15/4)
142+
================
143+
144+
**programmation Avancé**
145+
146+
* notion de test unitaires
147+
* expression régulières
148+
* création de ses propres classes (estimateur scikit-learn)
149+
150+
Journée 4 (16/4)
151+
================
152+
153+
* retour sur les graphes :epkg:`matplotlib`, :epkg:`seaborn`, :epkg:`plotly`, :epkg:`skrub`
154+
* cartographie, :epkg:`cartopy`, :epkg:`folium`
155+
* corrélations, pairplots
156+
* cubes de données avec pandas, passer un indice à droite (colonnes), à gauche (index),
157+
:ref:`Cube de données et pandas <nbl-c_data-nb_pandas_cube>`
158+
* tracer des graphes sur les élections municipales
159+

_doc/articles/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Ou *blog*.
99
:caption: 2026
1010
:maxdepth: 1
1111

12+
2026/2026-04-13-route2026
1213
2026/2026-03-15-route2026-ml
1314

1415
.. toctree::

0 commit comments

Comments
 (0)