You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/getting-started/intro/_intro.qmd
+40-9Lines changed: 40 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -2,20 +2,34 @@
2
2
3
3
:::: {.content-visible when-profile="fr"}
4
4
Ce cours rassemble l'ensemble du contenu du cours
5
-
__*Python {{< fa brands python >}} pour la data science*__ que je donne à l'[ENSAE](https://www.ensae.fr/courses/1425-python-pour-le-data-scientist) depuis 2020. Environ 190 élèves suivent ce cours chaque année. L'année 2024 a permis l'arrivée progressive d'une version anglophone équivalente à
5
+
__*Python {{< fa brands python >}} pour la data science*__ que je donne à l'[ENSAE](https://www.ensae.fr/courses/1425-python-pour-le-data-scientist) depuis 2020 et à l'[ENSAI](https://ensai.fr/) depuis 2026. Cela représente plus de 300 élèves qui suivent ce cours chaque année.
6
+
7
+
::: {.callout-note collapse="true"}
8
+
## Version internationale
9
+
10
+
L'année 2024 a permis l'arrivée progressive d'une version anglophone équivalente à
6
11
la version française visant à servir de cours d'introduction à la _data science_ pour les instituts statistiques européens
7
12
suite à un [appel à projets européen](https://cros.ec.europa.eu/dashboard/aiml4os).
8
-
13
+
:::
9
14
10
15
Ce site ([pythonds.linogaliana.fr/](https://pythonds.linogaliana.fr)) est le point d'entrée principal du cours. Il rassemble l'ensemble des contenus faits en cours dans le cadre de travaux pratiques ou proposés en complément à des fins de formation en continue. Ce cours est _open source_
11
16
et j'accueille avec plaisir les suggestions d'amélioration sur [`Github` {{< fa brands github >}}](https://github.com/linogaliana/python-datascientist) ou par le biais des commentaires en bas de chaque page.
12
17
18
+
A partir de la rentrée 2026, ce cours connaît un changement important avec une division en deux partie, répartie sur deux semestres de scolarité, permettant d'approfondir chacune:
19
+
20
+
* Python pour la *data* au premier semestre correspondant à la première partie du cours consacrée à l'exploration de données ;
21
+
* Python pour le *ML* au deuxième semestre correspondant à la seconde partie du cours consacrée à la modélisation.
22
+
23
+
13
24
`Python` étant un langage vivant et très dynamique, les pratiques évoluent et ce cours s'adapte en continu pour tenir compte de l'écosystème mouvant de la _data science_, en essayant néanmoins de distinguer les évolutions pérennes des pratiques des effets de mode.
14
25
15
-
Quelques éléments supplémentaires sont disponibles dans
16
-
les [slides introductives](https://slidespython.linogaliana.fr/). Des éléments plus avancés sont présents dans un autre cours consacré à la mise en production de projets _data science_
17
-
que je donne avec Romain Avouac
18
-
en dernière année de l'ENSAE ([ensae-reproductibilite.github.io/website](https://ensae-reproductibilite.github.io/website)).
26
+
Si ce cours s'adresse en priorité à des étudiants en *data science*, il est suffisamment général pour intéresser de nombreux profils, étudiants comme professionels, issus de diverses formations académiques. Il est pensé pour être une introduction à la *data science* par le biais de Python.
27
+
28
+
::: {.callout-tip}
29
+
## Pour aller plus loin
30
+
31
+
Quelques éléments supplémentaires sont disponibles dans les [slides introductives](https://slidespython.linogaliana.fr/). Des éléments plus avancés sont présents dans un autre cours consacré à la mise en production de projets _data science_ que je donne avec Romain Avouac en dernière année de l'ENSAE ([ensae-reproductibilite.github.io/website](https://ensae-reproductibilite.github.io/website)) et dont une variante sera donnée prochainement à l'ENSAI.
32
+
:::
19
33
20
34
{{< details-iframe
21
35
summary="Dérouler les _slides_ ou consulter celles-ci sur [plein écran](https://slidespython.linogaliana.fr/){target="_blank"}."
@@ -27,21 +41,38 @@ en dernière année de l'ENSAE ([ensae-reproductibilite.github.io/website](https
27
41
28
42
:::: {.content-visible when-profile="en"}
29
43
This course brings together all the material from the
30
-
__*Python {{< fa brands python >}} for Data Science*__ class I’ve been teaching at [ENSAE](https://www.ensae.fr/courses/1425-python-pour-le-data-scientist) since 2020. Each year, around 190 students take this course. In 2024, an English version—equivalent to the French original—was gradually introduced. It is designed as an introductory _data science_ course for European statistical institutes, following a [European call for projects](https://cros.ec.europa.eu/dashboard/aiml4os).
44
+
__*Python {{< fa brands python >}} for Data Science*__ class I’ve been teaching at [ENSAE](https://www.ensae.fr/courses/1425-python-pour-le-data-scientist) since 2020, and at [ENSAI](https://ensai.fr/) since 2026. More than 300 students now take this course each year.
45
+
46
+
::: {.callout-note}
47
+
## International version
48
+
49
+
In 2024, an English version—equivalent to the French original—was gradually introduced. It is designed as an introductory _data science_ course for European statistical institutes, following a [European call for projects](https://cros.ec.europa.eu/dashboard/aiml4os).
50
+
:::
31
51
32
52
The site ([pythonds.linogaliana.fr](https://pythonds.linogaliana.fr)) serves as the main hub for the course. It gathers all course content, including practical assignments and additional materials aimed at continuing education. The course is _open source_, and I welcome suggestions for improvement either on [`GitHub` {{< fa brands github >}}](https://github.com/linogaliana/python-datascientist) or in the comments section at the bottom of each page.
33
53
54
+
Starting with the 2026 academic year, this course undergoes a major change: it is now split into two parts, taught across two semesters, allowing each to be covered in greater depth:
55
+
56
+
* Python for *data* in the first semester, corresponding to the first part of the course focused on data exploration;
57
+
* Python for *ML* in the second semester, corresponding to the second part of the course focused on modeling.
58
+
34
59
Because `Python` is a living, fast-evolving language, the course is continuously updated to reflect the changing _data science_ ecosystem. At the same time, it strives to differentiate lasting trends from short-lived fads.
35
60
36
-
You can find more information in the [introductory slides](https://slidespython.linogaliana.fr/). More advanced topics are covered in another course focused on deploying _data science_ projects to production, which I co-teach with Romain Avouac in the final year at ENSAE ([ensae-reproductibilite.github.io/website](https://ensae-reproductibilite.github.io/website)).
61
+
While this course is primarily aimed at *data science* students, it is general enough to be of interest to a wide range of profiles—students and professionals alike—coming from diverse academic backgrounds. It is designed as an introduction to *data science* through Python.
62
+
63
+
::: {.callout-tip}
64
+
## Going further
65
+
66
+
You can find more information in the [introductory slides](https://slidespython.linogaliana.fr/). More advanced topics are covered in another course focused on deploying _data science_ projects to production, which I co-teach with Romain Avouac in the final year at ENSAE ([ensae-reproductibilite.github.io/website](https://ensae-reproductibilite.github.io/website)), with a variant of it soon to be taught at ENSAI as well.
67
+
:::
37
68
::::
38
69
39
70
40
71
::: {.content-visible when-profile="fr"}
41
72
:::: {.callout-note collapse="true"}
42
73
## Architecture du site web
43
74
44
-
Ce cours présente des tutoriels et des exercices complets qui peuvent être lus depuis ce site ou édités et testés dans un environnement interactif de type `Jupyter Notebook` (voir [prochain chapitre](/content/getting-started/01_environment.qmd) pour plus de détails).
75
+
Ce cours présente des tutoriels et des exercices complets qui peuvent être lus depuis ce site ou édités et testés dans un environnement interactif de type *notebook* (voir [prochain chapitre](/content/getting-started/01_environment.qmd) pour plus de détails).
45
76
46
77
Chaque page est structurée sous la forme d'un problème concret et présente la démarche générique pour résoudre ce problème général. Tous les exemples s'appuient sur de l'_open data_ et sont reproductibles.
Copy file name to clipboardExpand all lines: content/getting-started/intro/_objectif.qmd
+17-8Lines changed: 17 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,7 @@
5
5
6
6
Ce cours s’adresse aux praticiens de la _data science_,
7
7
discipline entendue ici au sens large comme la __combinaison de techniques issues des mathématiques, de la statistique et de l’informatique pour produire de la connaissance utile à partir de données__.
8
+
8
9
Comme la _data science_ n’est pas uniquement une discipline scientique mais vise également à fournir un ensemble d’outils pour répondre à des objectifs opérationnels, l'apprentissage du principal outil nécessaire à l'acquisition de connaissances en _data science_, à savoir le langage `Python`, est également
9
10
l'occasion d'évoquer la démarche scientifique rigoureuse à adopter face à des données. Ce cours a pour objectif de présenter la démarche face à un jeu de données, les problèmes rencontrés, les solutions pour les surmonter et les implications que ces dernières peuvent avoir. Il ne s'agit donc pas que d'un cours sur un outil technique, désincarné de problématiques scientifiques.
10
11
:::
@@ -54,7 +55,13 @@ Still, while `Python` makes it relatively easy to run sophisticated models, it i
54
55
## Reproductibilité
55
56
56
57
Ce cours donne une place centrale à la notion de reproductibilité. Cette exigence se traduit de diverses
57
-
manières dans cet enseignement, en premier lieu en permettant que tous les exemples et exercices de ce cours soient testés par le biais de _notebooks_`Jupyter`[^nb].
58
+
manières dans cet enseignement, en premier lieu en permettant que tous les exemples et exercices de ce cours soient testés par le biais de _notebooks_`Jupyter`.
59
+
60
+
:::: {.column-margin}
61
+
Un _notebook_ est un environnement interactif qui permet d'écrire et d'exécuter du code en direct. Il combine, dans un seul document, du texte, du code qui peut être exécuté et dont les sorties s'affichent après calculs. C'est extrêmement pratique pour l'apprentissage du langage `Python`.
62
+
63
+
Pour plus de détails, consultez la [documentation officielle de Jupyter](https://jupyter.org/documentation).
64
+
::::
58
65
59
66
L'ensemble du contenu du site *web* est reproductible dans des environnements informatiques divers. Il est bien sûr possible de copier-coller les morceaux de code présents dans ce site, grâce au bouton {{< fa solid clipboard >}} présent au dessus
60
67
des exemples de code:
@@ -65,20 +72,22 @@ x = "Essayez de me copier-coller" #<1>
65
72
1. Cliquez sur le bouton {{< fa solid clipboard >}} pour copier ce contenu et le coller ailleurs.
66
73
67
74
68
-
[^nb]: Un _notebook_ est un environnement interactif qui permet d'écrire et d'exécuter du code en direct. Il combine, dans un seul document, du texte, du code qui peut être exécuté et dont les sorties s'affichent après calculs. C'est extrêmement pratique pour l'apprentissage du langage `Python`. Pour plus de détails, consultez la [documentation officielle de Jupyter](https://jupyter.org/documentation).
69
-
70
75
Néanmoins, comme ce site présente de nombreux exemples, les allers et retours entre un environnement de test de `Python` et celui-ci pourraient être pénibles. Chaque chapitre est donc facilement récupérable sous forme de _notebook_`Jupyter` grâce à des boutons au début de chaque page. Voici, par exemple, ces boutons pour le premier chapitre consacré à `Pandas` :
71
76
:::
72
77
73
78
::: {.content-visible when-profile="en"}
74
79
75
80
## Reproducibility
76
81
77
-
This course places strong emphasis on reproducibility. This principle is reflected in several ways. First and foremost, by ensuring that all examples and exercises can be run and tested using `Jupyter`_notebooks_[^nb-en].
82
+
This course places strong emphasis on reproducibility. This principle is reflected in several ways. First and foremost, by ensuring that all examples and exercises can be run and tested using `Jupyter`_notebooks_.
78
83
79
-
All content on the website is designed to be reproducible across different computing environments. Of course, you're free to copy and paste code snippets directly from the site using the {{< fa solid clipboard >}} button available at the top of each code block.
84
+
:::: {.column-margin}
85
+
A _notebook_ is an interactive environment for writing and running code live. It combines, in a single document, text and code that can be executed, with outputs displayed right after computation. It's extremely convenient for learning the `Python` language.
86
+
87
+
For more details, see the [official Jupyter documentation](https://jupyter.org/documentation).
88
+
::::
80
89
81
-
[^nb-en]: Jupyter notebooks are interactive documents that allow you to combine code, text, and visualizations in a single file. They’re widely used in data science and education to make code both readable and executable.
90
+
All content on the website is designed to be reproducible across different computing environments. Of course, you're free to copy and paste code snippets directly from the site using the {{< fa solid clipboard >}} button available at the top of each code block.
82
91
83
92
```{python}
84
93
x = "Try to copy-paste me" #<1>
@@ -139,13 +148,13 @@ All student projects are required to be _open source_—one of the most effectiv
139
148
::: {.content-visible when-profile="fr"}
140
149
## Évaluation
141
150
142
-
Les élèves de l'ENSAE valident le cours grâce à
151
+
Les élèves de l'ENSAE et l'ENSAI valident le cours grâce à
143
152
un projet approfondi. Les éléments relatifs à l'évaluation du cours, ainsi qu'une liste des projets déjà effectués, sont disponibles dans la section [Évaluation](/content/annexes/evaluation).
144
153
:::
145
154
146
155
::: {.content-visible when-profile="en"}
147
156
## Assessment
148
157
149
-
Students at ENSAE complete the course by working on an in-depth project. Details on how the course is assessed, along with a list of past student projects, can be found in the [Evaluation](/content/annexes/evaluation) section.
158
+
Students at ENSAE and ENSAI complete the course by working on an in-depth project. Details on how the course is assessed, along with a list of past student projects, can be found in the [Evaluation](/content/annexes/evaluation) section.
Copy file name to clipboardExpand all lines: content/getting-started/intro/_pourquoi_python.qmd
+7-3Lines changed: 7 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -41,13 +41,15 @@ la même revue [@davenport2022data]. Ce ne sont d'ailleurs pas que les
41
41
_data scientists_ qui ont vocation à pratiquer `Python` ; dans le halo
42
42
des emplois autour de la donnée (_data scientist_, _data engineer_, _ML engineer_...),
43
43
`Python` fait office de tour de Babel permettant la communication entre ces
44
-
différents profils interdépendants.
44
+
différents profils interdépendants[^cs].
45
+
46
+
[^cs]: Voir @galiana-cs2026 pour plus d'éléments de contexte sur l'évolution des emplois de la *data*.
45
47
46
48
La richesse de `Python` permet de l'utiliser dans toutes les phases du traitement de la donnée, de sa récupération et structuration à partir de
47
49
sources diverses à sa valorisation.
48
50
Par le prisme de la _data science_, nous verrons que `Python` est un très bon candidat pour assister les _data scientists_ dans tous les aspects du travail quotidien leur permettant de tirer de la valeur de gisements hétérogènes de données. Ce cours a néanmoins l'ambition, peut-être illusoire, d'être plus qu'un énième cours d'introduction au langage `Python`: il s'agit plutôt d'un cours d'introduction à la _data science_ s'appuyant sur `Python`. En fait, apprendre `Python` est un prétexte pour apprendre à avoir les bons réflexes quand on est confronté à un jeu de données.
49
51
50
-
Ce cours introduit différents outils qui permettent de mettre en relation grâce à `Python` des données à des concepts théoriques issus de la statistique ou des sciences économiques et sociales. Néanmoins, ce cours va au-delà d'une simple introduction au langage et revient régulièrement sur les apports, mais aussi les limites, du langage pour répondre à des besoins opérationnels ou scientifiques.
52
+
Ce cours introduit différents outils qui permettent de mettre en relation, grâce à `Python`, des données à des concepts théoriques issus de la statistique ou des sciences économiques et sociales. Néanmoins, ce cours va au-delà d'une simple introduction au langage et revient régulièrement sur les apports, mais aussi les limites, du langage pour répondre à des besoins opérationnels ou scientifiques.
51
53
:::
52
54
53
55
::: {.content-visible when-profile="en"}
@@ -61,7 +63,9 @@ Unlike many programming languages that cater to relatively homogeneous communiti
61
63
62
64
`Python` success story is closely tied to the rise of the _data scientist_ role, a profile capable of working across the entire data processing pipeline. In the _Harvard Business Review_, @davenport2012data famously called it "the sexiest job of the 21st century." A decade later, he and his co-authors provided a full update on the evolving expectations for _data scientists_[@davenport2022data].
63
65
64
-
But it’s not only _data scientists_ who need to use `Python`. In the broader ecosystem of data-related professions—_data scientists_, _data engineers_, _ML engineers_, and more—`Python` serves as a kind of Tower of Babel, enabling collaboration among interdependent roles.
66
+
But it’s not only _data scientists_ who need to use `Python`. In the broader ecosystem of data-related professions—_data scientists_, _data engineers_, _ML engineers_, and more—`Python` serves as a kind of Tower of Babel, enabling collaboration among interdependent roles[^cs-en].
67
+
68
+
[^cs-en]: See @galiana-cs2026 for more context on the evolving landscape of data-related jobs.
65
69
66
70
This course introduces various tools that use `Python` to connect data with theoretical concepts from statistics and the economic and social sciences. However, it goes beyond a simple introduction to the language: it regularly reflects on both the strengths and the limitations of `Python` in meeting operational and scientific needs.
0 commit comments