Skip to content
Closed
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/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: 55c87c9fdbdb522866c5b6bbdc65c073941d7f16
synced-at: "2026-08-18"
model: claude-sonnet-5
mode: UPDATE
section-count: 5
tool-version: 0.15.0
tool-version: 0.26.0
6 changes: 3 additions & 3 deletions .translate/state/polars.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: fb389e7722b4f70fce7835bd773df8eea2de9744
synced-at: "2026-08-04"
source-sha: 55c87c9fdbdb522866c5b6bbdc65c073941d7f16
synced-at: "2026-08-18"
model: claude-sonnet-5
mode: UPDATE
section-count: 6
tool-version: 0.24.0
tool-version: 0.26.0
16 changes: 8 additions & 8 deletions lectures/pandas.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ En substance, un `DataFrame` dans pandas est analogue à une feuille de calcul E

Ainsi, c'est un outil puissant pour représenter et analyser des données naturellement organisées en lignes et en colonnes, souvent avec des indices descriptifs pour les lignes et les colonnes individuelles.

Regardons un exemple qui lit des données à partir du fichier CSV `pandas/data/test_pwt.csv`, tiré des [Penn World Tables](https://www.rug.nl/ggdc/productivity/pwt/pwt-releases/pwt-7.0).
Regardons un exemple qui lit des données à partir du fichier CSV `test_pwt.csv`, tiré des [Penn World Tables](https://www.rug.nl/ggdc/productivity/pwt/pwt-releases/pwt-7.0).

Le jeu de données contient les indicateurs suivants

Expand All @@ -176,7 +176,7 @@ Le jeu de données contient les indicateurs suivants
Nous allons le lire depuis une URL en utilisant la fonction `read_csv` de `pandas`.

```{code-cell} ipython3
df = pd.read_csv('https://raw.githubusercontent.com/QuantEcon/lecture-python-programming/main/lectures/_static/lecture_specific/pandas/data/test_pwt.csv')
df = pd.read_csv('https://github.com/QuantEcon/data-lectures/raw/main/lectures/test_pwt.csv')
type(df)
```

Expand Down 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 @@ -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.
24 changes: 9 additions & 15 deletions lectures/polars.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,7 @@ Comme dans {doc}`pandas`, travaillons avec les données des [Penn World Tables](
Nous les lisons à l'aide de `pl.read_csv`

```{code-cell} ipython3
url = ('https://raw.githubusercontent.com/QuantEcon/'
'lecture-python-programming/main/lectures/_static/'
'lecture_specific/pandas/data/test_pwt.csv')
url = 'https://github.com/QuantEcon/data-lectures/raw/main/lectures/test_pwt.csv'
df = pl.read_csv(url)
df
```
Expand Down Expand Up @@ -360,9 +358,7 @@ Au lieu d'exécuter chaque opération immédiatement, le mode paresseux collecte

```{code-cell} ipython3
# Rechargement du jeu de données
url = ('https://raw.githubusercontent.com/QuantEcon/'
'lecture-python-programming/main/lectures/_static/'
'lecture_specific/pandas/data/test_pwt.csv')
url = 'https://github.com/QuantEcon/data-lectures/raw/main/lectures/test_pwt.csv'
df_full = pl.read_csv(url)
```

Expand Down Expand Up @@ -438,9 +434,7 @@ import pandas as pd
import time

# Petit jeu de données -- Penn World Tables (~8 lignes)
url = ('https://raw.githubusercontent.com/QuantEcon/'
'lecture-python-programming/main/lectures/_static/'
'lecture_specific/pandas/data/test_pwt.csv')
url = 'https://github.com/QuantEcon/data-lectures/raw/main/lectures/test_pwt.csv'
small_pd = pd.read_csv(url)
small_pl = pl.read_csv(url)
```
Expand Down Expand Up @@ -480,13 +474,13 @@ une moyenne pondérée groupée.

```{code-cell} ipython3
n = 5_000_000
np.random.seed(42)
rng = np.random.default_rng(42)

groups = np.random.choice(['A', 'B', 'C', 'D'], n)
values = np.random.randn(n)
weights = np.random.rand(n)
extra1 = np.random.randn(n)
extra2 = np.random.randn(n)
groups = rng.choice(['A', 'B', 'C', 'D'], n)
values = rng.standard_normal(n)
weights = rng.random(n)
extra1 = rng.standard_normal(n)
extra2 = rng.standard_normal(n)

big_pd = pd.DataFrame({
'group': groups, 'value': values,
Expand Down