Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .translate/state/functions.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 1b356ab5e60d8f6939446fd5f47c243593a2abd3
synced-at: "2026-07-14"
model: claude-opus-4-8
mode: NEW
source-sha: aacff3815993e8bea8db7b63df72a0a038e220c1
synced-at: "2026-08-05"
model: claude-sonnet-5
mode: UPDATE
section-count: 7
tool-version: 0.15.0
tool-version: 0.25.0
10 changes: 5 additions & 5 deletions .translate/state/pandas.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 02e57a5befc2a9a081019edc748aba15e4b2f02a
synced-at: "2026-07-14"
model: claude-opus-4-8
mode: NEW
source-sha: aacff3815993e8bea8db7b63df72a0a038e220c1
synced-at: "2026-08-05"
model: claude-sonnet-5
mode: UPDATE
section-count: 5
tool-version: 0.15.0
tool-version: 0.25.0
10 changes: 5 additions & 5 deletions .translate/state/python_by_example.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 3241a07f00b1fb4d2bebc6989d1f480847e08e31
synced-at: "2026-07-14"
model: claude-opus-4-8
mode: NEW
source-sha: aacff3815993e8bea8db7b63df72a0a038e220c1
synced-at: "2026-08-05"
model: claude-sonnet-5
mode: UPDATE
section-count: 6
tool-version: 0.15.0
tool-version: 0.25.0
7 changes: 2 additions & 5 deletions lectures/functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ type(22)

La liste complète des fonctions intégrées de Python se trouve [ici](https://docs.python.org/3/library/functions.html).


### Fonctions tierces

Si les fonctions intégrées ne couvrent pas nos besoins, nous devons soit importer
Expand Down Expand Up @@ -281,7 +280,6 @@ quad(lambda x: x**3, 0, 2)

Ici, la fonction créée par `lambda` est dite *anonyme* car elle n'a jamais reçu de nom.


### Pourquoi écrire des fonctions ?

Les fonctions définies par l'utilisateur sont importantes pour améliorer la clarté de votre code en
Expand Down Expand Up @@ -470,7 +468,7 @@ Ce qui se passe ici, c'est que chaque appel successif utilise son propre *cadre*

* un cadre est l'endroit où sont conservées les variables locales d'un appel de fonction donné
* la pile est la mémoire utilisée pour traiter les appels de fonction
* une file d'attente First In Last Out (FILO)
* une structure de données dernier entré, premier sorti (LIFO)

Cet exemple est quelque peu artificiel, car la première solution (itérative) serait généralement préférée à la solution récursive.

Expand Down Expand Up @@ -634,7 +632,6 @@ draw_new(3)
```{solution-end}
```


## Exercices avancés

Dans les exercices suivants, nous écrirons ensemble des fonctions récursives.
Expand Down Expand Up @@ -714,4 +711,4 @@ print([recursion_factorial(i) for i in range(1, 10)])
```

```{solution-end}
```
```
14 changes: 7 additions & 7 deletions lectures/pandas.md
Original file line number Diff line number Diff line change
Expand Up @@ -357,10 +357,10 @@ df.loc[complexCondition]
La capacité d'effectuer des modifications dans les dataframes est importante pour générer un jeu de données propre en vue d'analyses futures.


**1.** Nous pouvons utiliser `df.where()` de manière pratique pour « conserver » les lignes que nous avons sélectionnées et remplacer les autres lignes par n'importe quelles autres valeurs
**1.** Nous pouvons utiliser `df.where()` de manière pratique pour « conserver » les lignes que nous avons sélectionnées et remplacer les autres lignes par `NaN`

```{code-cell} ipython3
df.where(df.POP >= 20000, False)
df.where(df.POP >= 20000)
```

**2.** Nous pouvons simplement utiliser `.loc[]` pour spécifier la colonne que nous voulons modifier, et attribuer des valeurs
Expand Down Expand Up @@ -388,7 +388,7 @@ df.apply(update_row, axis=1)

```{code-cell} ipython3
# Arrondit tous les nombres décimaux à 2 décimales
df.map(lambda x : round(x,2) if type(x)!=str else x)
df.map(lambda x : round(x,2) if not isinstance(x, str) else x)
```

**Application : Imputation des valeurs manquantes**
Expand All @@ -411,8 +411,8 @@ Nous pouvons utiliser à nouveau la méthode `.map()` pour remplacer toutes les
```{code-cell} ipython3
# remplace toutes les valeurs NaN par 0
def replace_nan(x):
if type(x)!=str:
return 0 if np.isnan(x) else x
if not isinstance(x, str):
return 0 if pd.isna(x) else x
else:
return x

Expand Down Expand Up @@ -544,7 +544,7 @@ Dans le second cas, vous pouvez soit
* passer à une autre machine
* résoudre votre problème de proxy en lisant [la documentation](https://requests.readthedocs.io/en/latest/)

En supposant que tout fonctionne, vous pouvez maintenant utiliser l'objet `source` renvoyé par l'appel `requests.get('https://research.stlouisfed.org/fred2/series/UNRATE/downloaddata/UNRATE.csv')`
En supposant que tout fonctionne, vous pouvez maintenant construire l'objet `source` à partir des données renvoyées par l'appel `requests.get(url)`

```{code-cell} ipython3
url = 'https://fred.stlouisfed.org/graph/fredgraph.csv?bgcolor=%23e1e9f0&chart_type=line&drp=0&fo=open%20sans&graph_bgcolor=%23ffffff&height=450&mode=fred&recession_bars=on&txtcolor=%23444444&ts=12&tts=12&width=1318&nt=0&thu=0&trc=0&show_legend=yes&show_axis_titles=yes&show_tooltip=yes&id=UNRATE&scale=left&cosd=1948-01-01&coed=2024-06-01&line_color=%234572a7&link_values=false&line_style=solid&mark_type=none&mw=3&lw=2&ost=-99999&oet=99999&mma=0&fml=a&fq=Monthly&fam=avg&fgst=lin&fgsnd=2020-02-01&line_index=1&transformation=lin&vintage_date=2024-07-29&revision_date=2024-07-29&nd=1948-01-01'
Expand Down Expand Up @@ -812,4 +812,4 @@ plt.tight_layout()
```{solution-end}
```

[^mung]: Wikipédia définit le « munging » comme le nettoyage de données d'une forme brute vers une forme structurée et épurée.
[^mung]: Wikipédia définit le « munging » comme le nettoyage de données d'une forme brute vers une forme structurée et épurée.
12 changes: 4 additions & 8 deletions lectures/python_by_example.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ Les notions plus avancées seront abordées dans les chapitres suivants.

Vous devriez avoir lu le {doc}`cours <getting_started>` sur la prise en main de Python avant de commencer celui-ci.


## Objectif : simuler et représenter un processus de bruit blanc

Supposons que nous voulions simuler et tracer le processus de bruit blanc
Expand Down Expand Up @@ -115,7 +114,6 @@ np.sqrt(4)
np.log(4)
```


#### Pourquoi autant d'importations ?

Les programmes Python nécessitent généralement plusieurs instructions d'importation.
Expand All @@ -125,7 +123,6 @@ La raison en est que le cœur du langage est délibérément maintenu petit, afi
Lorsque vous voulez faire quelque chose d'intéressant avec Python, vous avez presque toujours besoin
d'importer des fonctionnalités supplémentaires.


#### Packages

```{index} single: Python; Packages
Expand Down Expand Up @@ -279,7 +276,7 @@ x

Ici `append()` est ce qu'on appelle une **méthode**, c'est-à-dire une fonction « attachée à » un objet --- dans ce cas, la liste `x`.

Nous étudierons les méthodes plus en détail dans un {doc}`chapitre ultérieur <oop_intro>`. Pour le moment, retenons simplement que :
Nous étudierons les méthodes plus en détail dans un {doc}`chapitre ultérieur <oop_intro>`. Pour le moment, retenons simplement que :

* Les objets Python tels que les listes, les chaînes de caractères, etc. ont tous des méthodes utilisées pour manipuler les données contenues dans l'objet.
* Les objets chaînes de caractères ont des [méthodes de chaîne](https://docs.python.org/3/library/stdtypes.html#string-methods), les objets listes ont des [méthodes de liste](https://docs.python.org/3/tutorial/datastructures.html#more-on-lists), etc.
Expand Down Expand Up @@ -351,7 +348,6 @@ L'interpréteur Python effectue ce qui suit :

* Pour chaque élément de la `sequence`, il « lie » le nom `variable_name` à cet élément puis exécute le bloc de code.


### Une remarque sur l'indentation

```{index} single: Python; Indentation
Expand Down Expand Up @@ -400,12 +396,12 @@ plt.plot(ϵ_values)
plt.show()
```

Une boucle while exécute le bloc de code délimité par l'indentation tant que la condition (```i < ts_length```) est vraie.
Une boucle while exécute le bloc de code délimité par l'indentation tant que la condition (`i < ts_length`) est satisfaite.

Dans ce cas, le programme continuera d'ajouter des valeurs à la liste ```ϵ_values``` jusqu'à ce que ```i``` soit égal à ```ts_length``` :
Dans ce cas, le programme continuera d'ajouter des valeurs à la liste `ϵ_values` jusqu'à ce que `i` soit égal à `ts_length` :

```{code-cell} python3
i == ts_length # la condition de fin de la boucle while
i == ts_length #la condition de fin de la boucle while
```

Notez que
Expand Down
Loading