Skip to content
Merged
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/about_py.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 3213613a05778899068ddb92336dfe6a58517936
synced-at: "2026-07-14"
model: claude-opus-4-8
mode: NEW
source-sha: d35eb831da23a763f43d403e96f20d43529cae53
synced-at: "2026-08-18"
model: claude-sonnet-5
mode: UPDATE
section-count: 3
tool-version: 0.15.0
tool-version: 0.26.0
10 changes: 5 additions & 5 deletions .translate/state/autodiff.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 05ce95691fd97e48da39dd6d58fe032c03e8813d
synced-at: "2026-07-14"
model: claude-opus-4-8
mode: NEW
source-sha: d35eb831da23a763f43d403e96f20d43529cae53
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/pandas.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: aacff3815993e8bea8db7b63df72a0a038e220c1
synced-at: "2026-08-05"
source-sha: d35eb831da23a763f43d403e96f20d43529cae53
synced-at: "2026-08-18"
model: claude-sonnet-5
mode: UPDATE
section-count: 5
tool-version: 0.25.0
tool-version: 0.26.0
6 changes: 3 additions & 3 deletions .translate/state/pandas_panel.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 4cacd9a2d34a306abeb9383dbbe08be02e29011d
synced-at: "2026-07-17"
source-sha: d35eb831da23a763f43d403e96f20d43529cae53
synced-at: "2026-08-18"
model: claude-sonnet-5
mode: UPDATE
section-count: 6
tool-version: 0.16.1
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: d35eb831da23a763f43d403e96f20d43529cae53
synced-at: "2026-08-18"
model: claude-sonnet-5
mode: UPDATE
section-count: 6
tool-version: 0.24.0
tool-version: 0.26.0
6 changes: 3 additions & 3 deletions .translate/state/python_by_example.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: aacff3815993e8bea8db7b63df72a0a038e220c1
synced-at: "2026-08-05"
source-sha: d35eb831da23a763f43d403e96f20d43529cae53
synced-at: "2026-08-18"
model: claude-sonnet-5
mode: UPDATE
section-count: 6
tool-version: 0.25.0
tool-version: 0.26.0
23 changes: 3 additions & 20 deletions lectures/about_py.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ Dans ce cours, nous allons

Vous n'avez **pas** besoin de tout comprendre dans ce cours -- nous détaillerons les points progressivement plus tard dans la série de cours.


### Ne puis-je pas simplement utiliser des LLM ?

Non !
Expand All @@ -78,7 +77,6 @@ Vous devrez être l'architecte et le superviseur -- et pour ces tâches, vous de

Cela dit, un bon LLM est un compagnon utile pour ces cours -- essayez de copier-coller du code de cette série et de demander une explication.


### MATLAB n'est-il pas meilleur ?

Non, non, et cent fois non.
Expand All @@ -93,8 +91,6 @@ De plus, tous les grands LLM sont plus compétents pour écrire du code Python q

Nous discuterons des mérites relatifs des bibliothèques de Python tout au long de cette série de cours, ainsi que dans notre série ultérieure sur [JAX](https://jax.quantecon.org/intro.html).



## Présentation de Python

[Python](https://www.python.org) est un langage de programmation à usage général conçu en 1989 par [Guido van Rossum](https://en.wikipedia.org/wiki/Guido_van_Rossum).
Expand All @@ -107,7 +103,6 @@ C'est important parce que cela
* signifie que Python est contrôlé par la communauté des utilisateurs plutôt que par une entreprise à but lucratif, et
* encourage la reproductibilité et la [science ouverte](https://en.wikipedia.org/wiki/Open_science).


### Usages courants

{index}`Python <single: Python; common uses>` est un langage à usage général utilisé dans presque tous les domaines d'application, notamment
Expand All @@ -132,7 +127,6 @@ Il est utilisé et largement soutenu par de grandes entreprises technologiques,
* [Reddit](https://www.reddit.com/)
* etc.


### Popularité relative

Python est l'un des -- si ce n'est le -- [langages de programmation les plus populaires](https://www.tiobe.com/tiobe-index/).
Expand All @@ -146,9 +140,7 @@ Par exemple, le graphique suivant issu de Stack Overflow Trends montre comment l

```{figure} /_static/lecture_specific/about_py/pytorch_vs_matlab.png
```
Pytorch n'est que l'une des nombreuses bibliothèques Python pour l'apprentissage profond et l'IA.


PyTorch n'est que l'une des nombreuses bibliothèques Python pour l'apprentissage profond et l'IA.

### Fonctionnalités

Expand All @@ -160,7 +152,6 @@ Ce noyau est soutenu par de nombreuses bibliothèques, que l'on peut étudier au

Python est flexible et pragmatique, prenant en charge plusieurs styles de programmation (procédural, orienté objet, fonctionnel, etc.).


### Syntaxe et conception

```{index} single: Python; syntax and design
Expand Down Expand Up @@ -251,8 +242,6 @@ print(f"Average: {total / count if count else 'No valid data'}")

```



### Le lien avec l'IA

L'IA est en train de prendre en charge de nombreuses tâches actuellement effectuées par des humains, tout comme d'autres formes de machines l'ont fait au cours des derniers siècles.
Expand All @@ -265,7 +254,6 @@ Même si vous ne prévoyez pas de travailler sur l'IA et l'apprentissage automat

Ces cours vous expliqueront comment.


## Programmation scientifique avec Python

```{index} single: scientific programming
Expand All @@ -286,7 +274,6 @@ L'utilisation de Python est également en hausse en économie, en finance et dan

Cette section présente brièvement quelques exemples d'utilisation de Python pour la programmation scientifique générale.


### NumPy

```{index} single: scientific programming; numeric
Expand Down Expand Up @@ -341,12 +328,11 @@ Nous pouvons également effectuer de nombreuses autres tâches, comme

Nous en discuterons les détails plus tard dans la série de cours, où nous couvrons NumPy en profondeur.


### Alternatives à NumPy

Bien que NumPy soit toujours le roi du traitement de tableaux en Python, il existe désormais d'importants concurrents.

Des bibliothèques telles que [JAX](https://github.com/jax-ml/jax), [Pytorch](https://pytorch.org/) et [CuPy](https://cupy.dev/) disposent également de types de tableaux et d'opérations sur les tableaux intégrés qui peuvent être très rapides et efficaces.
Des bibliothèques telles que [JAX](https://github.com/jax-ml/jax), [PyTorch](https://pytorch.org/) et [CuPy](https://cupy.dev/) disposent également de types de tableaux et d'opérations sur les tableaux intégrés qui peuvent être très rapides et efficaces.

En fait, ces bibliothèques sont meilleures pour exploiter la parallélisation et le matériel rapide, comme nous l'expliquerons plus tard dans cette série.

Expand Down Expand Up @@ -386,7 +372,6 @@ Vous pouvez toutes les voir [ici](https://docs.scipy.org/doc/scipy/reference/ind

Plus tard, nous discuterons de SciPy plus en détail.


### Graphiques

```{index} single: Matplotlib
Expand Down Expand Up @@ -428,7 +413,6 @@ Parmi les autres bibliothèques graphiques figurent

Vous pouvez visiter la [Python Graph Gallery](https://python-graph-gallery.com/) pour plus d'exemples de tracés réalisés à l'aide de diverses bibliothèques.


### Réseaux et graphes

L'étude des [réseaux](https://networks.quantecon.org/) devient une partie importante du travail scientifique en économie, en finance et dans d'autres domaines.
Expand Down Expand Up @@ -482,7 +466,6 @@ nx.draw_networkx_nodes(g,
plt.show()
```


### Autres bibliothèques scientifiques

Comme indiqué ci-dessus, il existe littéralement des milliers de bibliothèques scientifiques pour Python.
Expand All @@ -506,4 +489,4 @@ Voici une courte liste de quelques bibliothèques scientifiques importantes pour
* [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/) pour extraire des données de fichiers HTML et XML


Dans cette série de cours, nous apprendrons à utiliser bon nombre de ces bibliothèques pour des tâches de calcul scientifique en économie et en finance.
Dans cette série de cours, nous apprendrons à utiliser bon nombre de ces bibliothèques pour des tâches de calcul scientifique en économie et en finance.
9 changes: 4 additions & 5 deletions lectures/autodiff.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ translation:

# Aventures avec la différentiation automatique


```{include} _admonition/gpu.md
```

Expand Down Expand Up @@ -369,11 +368,11 @@ Générons quelques données simulées :
```{code-cell} ipython3
n = 100
key = jax.random.key(1234)
x = jax.random.uniform(key, (n,))
key, x_key, ϵ_key = jax.random.split(key, 3)
x = jax.random.uniform(x_key, (n,))

α, β, σ = 0.5, 1.0, 0.1 # Fixe la vraie ordonnée à l'origine et la vraie pente.
key, subkey = jax.random.split(key)
ϵ = jax.random.normal(subkey, (n,))
ϵ = jax.random.normal(ϵ_key, (n,))

y = α * x + β + σ * ϵ
```
Expand Down Expand Up @@ -536,4 +535,4 @@ plt.show()


```{solution-end}
```
```
7 changes: 4 additions & 3 deletions lectures/pandas.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,12 @@ Commençons par les Series.
Nous commençons par créer une série de quatre observations aléatoires

```{code-cell} ipython3
s = pd.Series(np.random.randn(4), name='daily returns')
rng = np.random.default_rng()
s = pd.Series(rng.standard_normal(4), name='daily returns')
s
```

Ici, vous pouvez imaginer les indices `0, 1, 2, 3` comme indexant quatre sociétés cotées, et les valeurs étant les rendements quotidiens de leurs actions.
Ici, on peut imaginer les indices `0, 1, 2, 3` comme indexant quatre sociétés cotées, et les valeurs étant les rendements quotidiens de leurs actions.

Les `Series` de pandas sont construites par-dessus les tableaux NumPy et prennent en charge de nombreuses opérations similaires

Expand Down Expand Up @@ -134,7 +135,7 @@ s

Vues de cette manière, les `Series` sont comme des dictionnaires Python rapides et efficaces (avec la restriction que tous les éléments du dictionnaire ont le même type — dans ce cas, des flottants).

En fait, vous pouvez utiliser une grande partie de la même syntaxe que les dictionnaires Python
En fait, on peut utiliser une grande partie de la même syntaxe que les dictionnaires Python

```{code-cell} ipython3
s['AMZN']
Expand Down
6 changes: 3 additions & 3 deletions lectures/pandas_panel.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ pays et l'assigner à `realwage`.
L'ensemble de données est accessible via le lien suivant :

```{code-cell} ipython3
url1 = 'https://github.com/QuantEcon/data-lectures/raw/main/lectures/realwage.csv'
url1 = 'https://raw.githubusercontent.com/QuantEcon/data-lectures/main/lectures/realwage.csv'
```

```{code-cell} ipython3
Expand Down Expand Up @@ -203,7 +203,7 @@ le continent de chaque pays à `realwage_f` avec la fonction `merge`.
L'ensemble de données est accessible via le lien suivant :

```{code-cell} ipython3
url2 = 'https://github.com/QuantEcon/data-lectures/raw/main/lectures/countries.csv'
url2 = 'https://raw.githubusercontent.com/QuantEcon/data-lectures/main/lectures/countries.csv'
```

```{code-cell} ipython3
Expand Down Expand Up @@ -511,7 +511,7 @@ d'emploi en Europe par âge et par sexe provenant d'[Eurostat](https://ec.europa
L'ensemble de données est accessible via le lien suivant :

```{code-cell} ipython3
url3 = 'https://github.com/QuantEcon/data-lectures/raw/main/lectures/employ.csv'
url3 = 'https://raw.githubusercontent.com/QuantEcon/data-lectures/main/lectures/employ.csv'
```

La lecture du fichier CSV retourne un ensemble de données de panel au format long. Utilisez `.pivot_table()` pour construire
Expand Down
19 changes: 10 additions & 9 deletions lectures/polars.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ Commençons par les Series.
Nous commençons par créer une série de quatre observations aléatoires

```{code-cell} ipython3
s = pl.Series(name='daily returns', values=np.random.randn(4))
rng = np.random.default_rng()
s = pl.Series(name='daily returns', values=rng.standard_normal(4))
s
```

Expand Down Expand Up @@ -131,7 +132,7 @@ Par exemple, pour associer des symboles boursiers à des rendements :
```{code-cell} ipython3
df = pl.DataFrame({
'company': ['AMZN', 'AAPL', 'MSFT', 'GOOG'],
'daily returns': np.random.randn(4)
'daily returns': rng.standard_normal(4)
})
df
```
Expand Down Expand Up @@ -480,13 +481,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 Expand Up @@ -702,7 +703,7 @@ Calculons les variations en pourcentage à l'aide d'expressions Polars :

```{code-cell} ipython3
price_change = ticker.select([
((pl.col(tick).last() / pl.col(tick).first() - 1) * 100)
((pl.col(tick).drop_nulls().last() / pl.col(tick).drop_nulls().first() - 1) * 100)
.alias(tick)
for tick in ticker_list.keys()
]).transpose(
Comment on lines 705 to 709
Expand Down
9 changes: 6 additions & 3 deletions lectures/python_by_example.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,19 +190,22 @@ Il devient alors plus difficile de déterminer de quelle bibliothèque provient

### Tirages aléatoires

Pour revenir à notre programme qui trace le bruit blanc, les trois lignes restantes
Pour revenir à notre programme qui trace le bruit blanc, les quatre lignes restantes
après les instructions d'importation sont

```{code-cell} ipython
rng = np.random.default_rng()
ϵ_values = rng.standard_normal(100)
plt.plot(ϵ_values)
plt.show()
```

La première ligne génère 100 tirages (quasi) indépendants d'une loi normale centrée réduite et les stocke
La première ligne crée un générateur de nombres aléatoires `rng`.

La deuxième ligne génère 100 tirages (quasi) indépendants d'une loi normale centrée réduite et les stocke
dans `ϵ_values`.

Les deux lignes suivantes génèrent le graphique.
Les deux dernières lignes génèrent le graphique.

Nous verrons plus loin différentes façons de configurer et d'améliorer ce graphique.

Expand Down
Loading