Python技术栈

Python技术栈 [TOC] NumPy IPython 一个交互式 shell SciPy 数值计算, 最初和NumPy属于同一个项目. SymPy 符号计算 Matplotlib PIL The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities. 绘图 Cython 代码提速 scikit-learn 机器学习,数据挖掘与分析 Numba Numba gives you the power to speed up your applications with high performance functions written directly in Python. With a few annotations, array-oriented and math-heavy Python code can be just-in-time compiled to native machine instructions, similar in performance to C, C++ and Fortran, without having to switch languages or Python interpreters.

NumPy CookBook:第一章,使用IPython

IPython官网:http://ipython.org/ IPython 的两个主要组件 基于终端模式和基于Qt的交互式 Python shell 基于web,支持绘图和多媒体功能的notebook,基于Tornado web服务器 和 pyzmq(一个 ZeroMQ 消息库的 Python 封装) IPython 的交互式 shell IPython shell特性 代码补全: 按Tab键即可 历史记录机制 1.shell下输入 %hist, %history 可以调出历史命令记录,使用 -g选项可以搜索历史记录,如: $hist -g a = 2 2.或者用上下方向键逐条调出历史命令记录 3.可以录制操作记录供未来使用, %logstart logfilename 开始录制, %logstop 停止录制 嵌入式编辑 使用%run 调用外部python脚本 访问操作系统shell命令:用!后跟操作系统命令,如!date,并且可以将系统返回值作为变量值使用 pylab开关:用ipython –pylab 启动IPython时, 会同时导入 NumPy, SciPy, Matplotlib软件包, 不需要另外导入. 但不建议用这种方式, 而是建议进入ipython后运行 %pylab 命令. 访问Python的调试器和性能分析器 调用帮助 可以使用help函数, help(function_name). 调用该函数时可以用代码补全, 不停按TAB键跳到自己需要查找帮助的函数名 可以直接在函数名后面加?,如: arange?

NumPy CookBook:第二章,高级索引和数组概念

安装PIL 据 PIL 官网, 目前暂时还没支持Python3, windows 下可以用 conda install pillow 命令安装PIL的替代品 pillow. 示例:调整图像的大小 # -*- coding: utf-8 -*- # 该脚本用来调整SciPy库中图像face的大小 import scipy.misc import matplotlib.pyplot import numpy.testing # 图像face 是一张SciPy库中内置的浣熊的脸 # 加载图像到一个数组中 raccoon_face = scipy.misc.face() # 图像的规格: 1024 * 768 # 检查数组的形状, 这是一个可选的完整性检查 numpy.testing.assert_equal((768, 1024, 3), raccoon_face.shape) # 获取调整系数 yfactor = 2 xfactor = 3 # 调整数组的大小,repreat 函数用来对数组进行repeat操作 resized = raccoon_face.repeat(yfactor, axis=0).repeat(xfactor, axis=1) # 检查大小调整后的数组的形状, 如果调整系数不是整数, 可能会导致检测结果不相等而抛出异常 numpy.testing.assert_equal((yfactor * 768, xfactor * 1024, 3), resized.