关于科学 Python 讲座¶
版本: 2024.2rc0.dev0
更新内容¶
2024.1 版本 (2024 年 4 月)¶
Python 3.10、3.11、3.12
更名为科学 Python 讲座
删除旧内容
主要更新以支持最新包
SciPy 和 scikit-image 章节的更新
2022.1 版本 (2022 年 8 月)¶
用加州数据替换 scikit-learn 房屋示例 (Marco Mangan)
修复链接和错别字 (Zachary Moon、Tim Gates、Marco Mangan、Gert-Ludwig Ingold)
修复 fftpack 图形 (Osayd Abdu)
更新软件版本 (Pierre de Buyl)
2020.2 版本 (2020 年 9 月)¶
用 imageio 替换 scipy.misc 中的图像 i/o (Pierre de Buyl)
更新有关字典排序的信息 (Bharath Saiguhan)
抑制 mandelbrot 示例的警告 (Pierre de Buyl)
针对 NumPy 的更改更新 NumPy 简介和高级用法:措辞、字节表示、np.zeros 的浮点参数 (Ross Barnowski)
修复指向 NumPy 文档的链接以使用 numpy.org (Ross Barnowski)
更新关于转置数组的说明 (Ross Barnowski 和 Eric Wieser)
对激光雷达数据处理使用生成的图形文件 (Lawrence Chan)
更新从 PyMC2 到 PyMC3 的链接 (B. Hohl)
修复透明弹出菜单以具有背景 (Pierre de Buyl)
2020.1 版本 (2020 年 3 月)¶
修复过时的 URL (Gert-Ludwig Ingold)
更新包 (Pierre de Buyl)
删除 Python 2 持续集成 (Olav Vahtras - EuroSciPy 2019 sprint)
修复棋盘大小 (Mark Setchell)
添加目标和设计选择 (Gert-Ludwig Ingold 和 Pierre de Buyl)
使 numpy 高级迭代器示例更详细 (Sebastian Berg)
使用空列表而不是空元组来停用刻度 (Tim Hoffmann)
修复错别字 (Sander van Rijn、cydave、Michel Corne) 和 2 个错误 (Andreas Hilboll)
提高多项式示例代码的可读性 (Michel Corne)
替换调试环境的建议 (Gert-Ludwig Ingold)
添加关于 Python 2 与 Python 3 的部分 (Pierre de Buyl)
2019.1 版本 (2019 年 5 月)¶
更新 matplotlib 兼容性以支持版本 2.2 (Mike Mueller、Joris Van den Bossche、Pierre de Buyl)
使 C-API 示例 cos_module_np 兼容 Python 2/3 (Michael Boyle)
修复错别字和过时的 URL (Dogacan Dugmeci、Matthieu Boileau、Stuart Geiger、Omar Gutiérrez、Himanshu、Julian Hofer、Joseph Salmon、Manuel López-Ibáñez、Nicola Masarone、michelemaroni89、Evgeny Pogrebnyak、tommyod)
2018.1 版本 (2018 年 9 月)¶
修复措辞、错别字、颜色 (Pierre de Buyl、Greg Kiar、Olav Vahtras Kristian Rother)
修复插值示例代码 (Scott Staniewicz)
修复高密度显示的 CSS (Gaël Varoquaux)
使用 PyX 生成索引图形 (Gert Ingold)
明确警告不要使用 Python 2 (Bruno Hanzen)
更新外部链接 (Bruno Hanzen)
更新依赖项的版本:sphinx-gallery、pandas、statsmodels (Gaël Varoquaux)
2017.1 版本 (2017 年 10 月)¶
更新优化章节 (Michael Hartmann、Gaël Varoquaux)
更新 SymPy 章节 (Vince Knight)
更新高级 NumPy (Bartosz Teleńczuk)
更新 scikit-learn 章节 (Gaël Varoquaux)
更新 SciPy 章节 (Gaël Varoquaux)
使提示中的“>>>” 不可选择 (Pierre de Buyl)
对 pip 和 conda 使用通用包要求,并改进构建说明 (Gert-Ludwig Ingold、Vince Knight、Pierre de Buyl)
设置 Circle CI (Loïc Estève)
改进对 Python 3 整数除法和对 print 的调用的支持 (Loïc Estève、Gert-Ludwig Ingold、Pierre de Buyl、Gaël Varoquaux)
将测试运行器更改为 pytest (Pierre de Buyl)
将 plot 指令替换为 sphinx-gallery (Gert-Ludwig Ingold)
2016.1 版本 (2016 年 9 月)¶
重新设计介绍章节 (Gaël Varoquaux)
集成 sphinx-gallery:示例现在是 Jupyter 笔记本 (Gaël Varoquaux、Gert-Ludwig Ingold、Óscar Nájera)
更好的 Python 3 测试和支持 (Gert-Ludwig Ingold)
使示例适应 Matplotlib 1.5 (Gaël Varoquaux)
使 numpy 章节现代化 (Bartosz Telenczuk)
2015.3 版本 (2015 年 11 月)¶
折叠的边栏现在可以为中等大小的显示弹出 (Gaël Varoquaux)
用浣熊脸替换了 Lena 的图片 (Thouis Jones)
2015.2 版本 (2015 年 10 月)¶
封面上的作者按 bibtex 条目中的顺序排列 (Nicolas Rougier)
在移动设备上更好的渲染 (Gaël Varoquaux)
修复结构化文本标记错误 (Olav Vahtras)
2015.1 版本 (2015 年 9 月)¶
关于 Python 统计的新章节 (Gaël Varoquaux)
更好的 PDF 布局 (Gaël Varoquaux)
新的 HTML 布局,简化的格式,移动设备友好和边栏 (Gaël Varoquaux、Nelle Varoquaux)
HTML 首页和 PDF 封面上的徽标 (Nicolas Rougier)
兼容 Python 3 的代码 (Gaël Varoquaux、Olav Vahtras)
将代码更新为最新版本的项目 (Pierre de Buyl、Emmanuelle Gouillart、Gert-Ludwig Ingold、Nicolas Pettiaux、Olav Vahtras、Gaël Varoquaux、Nelle Varoquaux)
Matplotlib 更新,删除了已弃用的 pylab 接口 (Nicolas Rougier)
2013.2 版本 (2013 年 8 月 21 日)¶
简化了 NumPy 章节 (Valentin Haenel)
新的 HTML 渲染布局 (Gaël Varoquaux)
2013.1 版本 (2013 年 2 月 10 日)¶
对高级图像处理章节的改进 (Emmanuelle Gouillart)
升级了入门语言章节 (Valentin Haenel)
升级了入门 numpy 章节 (Valentin Haenel)
关于与 C 交互的新高级章节 (Valentin Haenel)
在各个地方进行了一些小的修复和改进 (Robert Gieseke、Ozan Çağlayan、Sergio Oller、kikocorreo、Valentin Haenel)
2012.3 版本 (2012 年 11 月 26 日)¶
此版本集成了为 Euroscipy 大会编写的更改
Matplotlib 章节已完全重做 (Nicolas Rougier、Gaël Varoquaux)
关于数学优化的新的高级章节 (Gaël Varoquaux)
Mayavi 章节已重做 (Gaël Varoquaux)
首页布局略有改进:折叠 TOC (Gaël Varoquaux)
2012.2 版本 (2012 年 6 月 22 日)¶
一个小版本,进行了一些清理 (Gael Varoquaux)。
2012.1 版本 (2012 年 6 月 20 日)¶
这是一个小版本,进行了许多清理。特别是清理了布局 (Gael Varoquaux),缩短了 numpy 章节,并对介绍章节和高级章节进行了去重 (Gael Varoquaux),以及对所有代码进行了 doctesting (Gael Varoquaux)。
2012.0 版本 (2012 年 4 月 22 日)¶
这是一个小版本,进行了一些清理。特别是清理了 scikit-learn 章节 (Lars Buitinck),更具信息性的章节标题 (Gael Varoquaux),以及其他修复 (Valentin Haenel、Virgile Fritsch)。
2011.1 版本 (2011 年 10 月 16 日)¶
此版本是 Euroscipy 2011 教程的重新设计版本。布局已清理和优化 (Valentin Haenel 和许多其他人),Traits 章节已合并 (Didrik Pinte)
2011 版本 (2011 年 9 月 1 日)¶
此版本用于 Euroscipy 2011 教程。numpy 入门章节已重新设计 (Pauli Virtanen)。入门章节的大纲已简化 (Gaël Varoquaux)。添加了高级章节:高级 Python 结构 (Zbigniew Jędrzejewski-Szmek),调试代码 (Gaël Varoquaux),优化代码 (Gaël Varoquaux),图像处理 (Emmanuelle Gouillart),scikit-learn (Fabian Pedregosa)。
许可证¶
所有代码和材料均采用
知识共享署名 4.0 国际许可证 (CC-by)
https://creativecommons.org/licenses/by/4.0/
请参阅 AUTHORS.rst 文件以获取贡献者列表。
贡献¶
Scientific Python 讲座是一个社区驱动的项目,需要不断维护和改进。欢迎新的贡献,例如措辞改进或新主题的加入。
要提出对讲座的错误修复或直接改进,请查看下面的贡献指南。
对于新主题,请先阅读目标,然后在 GitHub 项目上打开一个问题与编辑讨论。
讲座的目标和设计选择¶
贡献者应牢记 Scientific Python 讲座的以下目标和设计选择。
目标
提供对 Python 及其主要计算包(“Scientific Python 堆栈”)的独立介绍。
为一系列广泛使用且稳定的计算库提供教程。目前,我们涵盖了 pandas、statmodels、seaborn、scikit-image、scikit-learn 和 sympy。
尽可能对代码示例应用自动测试。
设计选择
每一章都应该为 1‒2 小时的教程提供有用的基础。
代码应该可读。
应遵循惯用风格,例如
import numpy as np
,优先使用数组操作,遵循 PEP8 编码规范。
贡献指南¶
目录guide
包含关于如何贡献的说明。
构建说明¶
要生成用于屏幕显示的 html 输出,请键入
make html
生成的 html 文件可以在 build/html
中找到。
第一次构建需要很长时间,但信息会被缓存,后续构建会更快。
要生成用于打印的 pdf 文件,请
make pdf
pdf 构建器有点复杂,你可能会遇到一些 TeX 错误。调整 *.rst
文件中的布局通常足以解决这些问题。
要求¶
构建要求列在 requirements file
中
numpy==2.1.1
scipy==1.14.1
matplotlib==3.9.2
pandas==2.2.3
patsy==0.5.6
pyarrow==17.0.0
scikit-learn==1.5.2
scikit-image==0.24.0
sympy==1.13.3
statsmodels==0.14.3
seaborn==0.13.2
pytest>=8.3
sphinx>=8.0
sphinx-gallery>=0.17
sphinx-copybutton
coverage>=7.6
Pillow
pooch
ipython
pickleshare
pre-commit==4.0
requests
sphinxcontrib-jquery
确保你已设置了 虚拟环境 或 conda 环境,然后使用以下命令安装要求
pip install -r requirements.txt
请注意,你还需要以下系统包
更新封面¶
使用 inkscape 修改 images/
中的封面,然后导出为 PDF。
inkscape --export-filename=cover-2024.pdf cover-2024.svg
确保 images/cover.pdf
符号链接指向正确文件。