Releases: QuantEcon/lecture-python-intro
Releases · QuantEcon/lecture-python-intro
Release list
publish-2026aug20
Publish: add the Measuring Mobility lecture
publish-2026aug17
Add Bivariate Distributions lecture (#837) * Add Bivariate Distributions lecture Adds a new lecture introducing bivariate distributions, placed after fitting_distributions and before lln_clt in the Probability and Distributions part of the toc. Covers joint/marginal distributions (discrete and continuous), independence, covariance and correlation, ways joint distributions arise (independent components; Y = aX + b + U), the bivariate normal distribution, and a counterexample showing normal marginals don't imply joint normality. Moves to observed data using the Ames house price dataset already used in observed_distributions/fitting_distributions, fits a bivariate normal by the method of moments, and closes with a preview showing the bivariate normal's conditional mean coincides with the OLS line, handing off to simple_linear_regression. Built and rendered locally to verify execution and output. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Restructure flow: fold marginals into discrete/continuous cases - Move marginal distributions into the Discrete case and Continuous case subsections directly, rather than as a separate section after both, so discrete marginals (sums, bar charts) come first and continuous marginals (integrals, density curves) mirror them. - Split the Ames discrete example by mean instead of median, so the marginals are visibly asymmetric (~45%/38%) rather than ~50/50 by construction, tying back to the right-skew lesson from observed_distributions. - Add a heatmap of the joint PMF in the discrete case, and introduce the bivariate normal density (with 3D surface and contour plots) directly in the continuous case rather than in a separate later section. - Rename "The bivariate normal distribution" to "Back to the normal distribution", now picking up after Independence/Covariance/How joint distributions arise with the properties note, sample-draws figure, and the "word of caution" counterexample. - Explain what np.corrcoef returns and why [0, 1] is indexed, the first time it's used. - In "A word of caution": use 1 directly instead of an unnecessary parameter c, fix a leftover "houses" reference from the Ames example, and switch the counterexample to sns.jointplot so the normal marginals and non-normal joint are visible in one figure. Re-executed the full notebook (31 code cells) after each change; verified with a local jupyter-book build. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Fix heatmap y-axis orientation to read as positive correlation sns.heatmap puts row 0 at the top by default, so with x=0 (below mean) at the top and x=1 (above mean) at the bottom, the diagonal of large cells ran top-left to bottom-right --- visually reading as a negative correlation even though the data is positively correlated. Add ax.invert_yaxis() to both heatmaps (the discrete joint heatmap and the actual-vs-independent comparison) so x increases upward, matching how a standard scatter plot reads. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
publish-2026aug12
What's Changed
- MAINT: drop pip installs that no lecture uses by @mmcky in #803
- Pin the link checker to v1 and declare known false positives by @mmcky in #813
- ⬆️ Bump quantecon/actions from 0.8.0 to 0.10.0 by @dependabot[bot] in #829
- Read life-expectancy and usa-gini from data-lectures by @mmcky in #834
Full Changelog: publish-2026aug11...publish-2026aug12
publish-2026aug11
What's Changed
- french_rev: delete the five local copies, now that the site is published by @mmcky in #827
- CI: guard against reading data-lectures over the LFS media host by @mmcky in #830
- CI: least-privilege token for the data URL guard by @mmcky in #831
- Read the six folded datasets from data-lectures, not high_dim_data by @mmcky in #832
Full Changelog: publish-2026aug07...publish-2026aug11
publish-2026aug07
What's Changed
- inflation_history: delete the local copies, now that the site is published by @mmcky in #825
- french_rev: read the five datasets from data-lectures by @mmcky in #826
Full Changelog: publish-2026aug06b...publish-2026aug07
publish-2026aug06b
What's Changed
Full Changelog: publish-2026aug06...publish-2026aug06b
publish-2026aug06
What's Changed
- ENH: add zh-cn translation sync workflow (Phase 0, Track A) by @mmcky in #795
- FIX: remove unused get_cmap and to_rgba imports in laffer_adaptive by @mmcky in #798
- ⬆️ Bump anaconda from 2026.06 to 2026.07 by @dependabot[bot] in #797
- FIX: install quantecon in networks.md by @mmcky in #802
- security: gate the \translate-resync trigger on commenter trust by @mmcky in #805
- CI: gate notebook execution errors on the sphinx-tojupyter step by @mmcky in #809
- Split "Observed Distributions" out of prob_dist and develop it by @jstac in #811
- New lecture: Fitting Distributions to Data by @jstac in #814
- heavy_tails: cite the Q-Q plot section rather than introduce it cold by @jstac in #815
- Caption the figures in prob_dist and observed_distributions by @jstac in #816
- [ar1_processes.md] Update np.random → Generator API by @Chihiro2000GitHub in #794
- Link the probability sequence together by @jstac in #819
- prob_dist: read the Japan population data from data-lectures by @jstac in #821
- long_run_growth: read mpd2020.xlsx from data-lectures by @mmcky in #823
Full Changelog: publish-2026jul17...publish-2026aug06
publish-2026jul17
What's Changed
Full Changelog: publish-2026jul16...publish-2026jul17
publish-2026jul16
What's Changed
- prob_dist: motivating height example and Japan age distribution by @jstac in #790
- Define imaginary unit in complex numbers section by @Zhengyizhe0209-arch in #779
- Read the SCF sample from high_dim_data main by @mmcky in #793
Full Changelog: publish-2026jul14...publish-2026jul16