🌐 [translation-sync] Add Polars lecture to complement existing Pandas lecture - #20
Conversation
✅ Translation Quality ReviewVerdict: PASS | Model: claude-sonnet-5 | Date: 2026-07-30 📝 Translation Quality
Summary: The translation of the newly added sections is accurate, fluent, and technically sound, with correct rendering of Polars-specific vocabulary (lazy evaluation, predicate pushdown, expressions, group_by, etc.) and full preservation of code cells and MyST directives. Minor stylistic inconsistencies exist around the treatment of 'Series' and the eager/lazy terminology pairing, but these do not impede comprehension or violate the glossary. Technical terminology (lazy evaluation, predicate/projection pushdown, expressions) is translated clearly and consistently with appropriate French equivalents while preserving recognizable Polars/pandas API terms. Code blocks, directives, and links are fully preserved with no structural or syntax corruption. French typography rules (non-breaking spaces before colons, guillemets where applicable) are correctly applied in the changed sections. Suggestions:
🔍 Diff Quality
Summary: The translated document mirrors the English source's structure, section order, and content, with a correctly populated translation heading map. This review was generated automatically by action-translation review mode. |
📖 Netlify Preview Ready!Preview URL: https://pr-20--verdant-toffee-3261a8.netlify.app Commit: 📚 Changed LecturesBuild Info
|
There was a problem hiding this comment.
🟡 Not ready to approve
The new lecture contains a couple of correctness issues in Polars computations (ordering and null-handling) plus a potentially fragile large benchmark cell for executed builds.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.
Pull request overview
This PR syncs the French translation of a new Polars lecture from the upstream QuantEcon repository and wires it into the book navigation so it complements the existing Pandas content.
Changes:
- Added a new lecture:
lectures/polars.md(French MyST/Jupytext lecture on Polars). - Updated the table of contents to include the new lecture.
- Added translation sync state metadata for
polars.md.
File summaries
| File | Description |
|---|---|
lectures/polars.md |
New Polars lecture content (dataframes, lazy evaluation, benchmarks, exercises). |
lectures/_toc.yml |
Adds polars to the lecture navigation. |
.translate/state/polars.md.yml |
Records translation sync provenance/state for the new lecture. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 4
- Review effort level: Lite
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
|
|
||
| ```{code-cell} ipython3 | ||
| price_change = ticker.select([ | ||
| ((pl.col(tick).last() / pl.col(tick).first() - 1) * 100) |
| Passons maintenant à 5 millions de lignes, où la différence devient évidente. | ||
|
|
||
| La tâche consiste à : filtrer les lignes où `value > 0`, calculer un produit | ||
| pondéré `value * weight`, puis calculer la moyenne de ce produit au sein de chaque groupe --- | ||
| une moyenne pondérée groupée. | ||
|
|
||
| ```{code-cell} ipython3 | ||
| n = 5_000_000 | ||
| np.random.seed(42) |
| yearly_returns = indices_data.group_by('year').agg([ | ||
| *[pl.col(idx).drop_nulls().first().alias(f'{idx}_first') | ||
| for idx in indices_list], | ||
| *[pl.col(idx).drop_nulls().last().alias(f'{idx}_last') | ||
| for idx in indices_list] | ||
| ]) |
"Colonnaire" is the standard French adjective for "columnar" in data engineering; "columnaire" is an anglicism. Flagged independently by both the translation reviewer and Copilot on #20. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Automated Translation Sync
This PR contains automated translations from QuantEcon/lecture-python-programming.
Source PR
#408 - Add Polars lecture to complement existing Pandas lecture
Files Added
lectures/polars.md.translate/state/polars.md.ymlFiles Updated
lectures/_toc.ymlDetails
This PR was created automatically by the translation action.