Skip to content

Releases: QuantEcon/lecture-python-intro

publish-2026aug20

Choose a tag to compare

@github-actions github-actions released this 19 Aug 23:10
Publish: add the Measuring Mobility lecture

publish-2026aug17

Choose a tag to compare

@github-actions github-actions released this 17 Aug 00:58
8e74ab4
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

Choose a tag to compare

@mmcky mmcky released this 12 Aug 00:54
a09db42

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

Choose a tag to compare

@mmcky mmcky released this 11 Aug 05:38
0066783

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

Choose a tag to compare

@mmcky mmcky released this 07 Aug 00:14
6986e35

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

Choose a tag to compare

@mmcky mmcky released this 06 Aug 07:53
69307ff

What's Changed

  • inflation_history: read longprices.xls and chapter_3.xlsx from data-lectures by @mmcky in #824

Full Changelog: publish-2026aug06...publish-2026aug06b

publish-2026aug06

Choose a tag to compare

@mmcky mmcky released this 06 Aug 06:44
3ccd49c

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

Choose a tag to compare

@mmcky mmcky released this 17 Jul 00:32
48659c2

What's Changed

  • P1 pilot: read lingcod data from data-lectures by @mmcky in #792

Full Changelog: publish-2026jul16...publish-2026jul17

publish-2026jul16

Choose a tag to compare

@mmcky mmcky released this 16 Jul 00:28
11538e3

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

publish-2026jul14

Choose a tag to compare

@mmcky mmcky released this 14 Jul 05:46
32ef666

What's Changed

  • linkcheck: pass explicit -f - to tar when extracting from the curl pipe by @mmcky in #786
  • Adopt minimal proof/exercise styling by @mmcky in #788
  • Adopt quantecon/actions/publish-gh-pages for GitHub Pages deploy by @mmcky in #787

Full Changelog: publish-2026jun06...publish-2026jul14