下面是本书的预览地址:
第二版序
Python世界的发展日新月异,在本书第一版出版之后,Python在数据处理、科学计算领域又出现了许多新的进展:
- IPython项目获得了100多万美元的资助,开发进程得到了极大地提升,最近1.0就快要正式发布了,它集成了Notebook、并行运算等多项新功能。其中Notebook已经成为Python科学计算界的标准配置。
- NumPy的创始人Travis Oliphant在离开Enthought之后,创建了CONTINUUM,致力于将Python大数据处理方面的应用。最近推出的Numba项目能够将 处理NumPy数组的Python函数JIT编译为机器码执行,从而上百倍的提高程序的运算速度。而基于浏览器的Python开发环境 wakari() 能省去配置Python开发环境的麻烦。
- Pandas经过几个版本周期的迭代,目前已经成为数据整理、处理、分析的不二选择。
- OpenCV官方的扩展库cv2已经正式出台,它的众多图像处理函数能直接对NumPy数组进行处理,便捷图像处理、计算机视觉程序变得更加方便、简洁。
- 虽然matplotlib的创始人John Hunter不幸因病早逝,但matplotlib已经拥有稳定开发社区,最新发布的1.3版本添加了WebAgg后台绘图库,能在浏览器中显示图表并与 之进行交互。相信不久这一功能就会集成到IPython Notebook中去。
- 随着SymPy 0.7.3的发布,它已经逐渐从玩具项目发展成熟。一位高中生使用在线运行SymPy代码的网站:
- Cython已经内置支持NumPy数组,它已经逐渐成为编写高效运算扩展库的首选工具。例如Pandas中绝大部分的提速代码都是采用Cython编写的。
- NumPy、SciPy等也经历了几个版本的更新,许多计算变得更快捷,功能也更加丰富。
- WinPython、Anaconda等新兴的Python集成环境无须安装,使得共享Python程序更方便快捷。
- 随着Python3逐渐成为主流,IPython, NumPy, SciPy, matplotlib, Pandas, Cython等主要的科学计算扩展库也已经开始支持Python3了。
所
有这些发展让我不得不觉得该是着手编写《Python科学计算-第二版》的时候了,预计这本书将涉及上述所有令人兴奋的发展,增改第一版中50%以上的内
容。这次我将完全使用IPython
Notebook编写本书,这意味着所有的代码都是经过验证的,只要读者安装了相同的Python开发环境,就能得到相同的结果。
这将是一个漫长而有趣的过程,请各位感兴趣的读者长期关注本书的变化,并在 中留下您宝贵的意见和建议。如果对每章节的内容有任何疑问和建议,请在页面下方的评论栏中留言。