Python数据分析基础(一)——开发环境
Python数据分析依赖的重要库:
-
NumPy(Numerical Python的简称)是Python科学计算的基础包
-
pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数
-
matplotlib是最流行的用于绘制数据图表的Python库
-
IPython是Python科学计算标准工具集的组成部分,它将其他所有的东西联系到一起。
-
SciPy是一组专门解决科学计算各种标准问题域的包的集合
SciPy主要包括下面这些包:
-
scipy.integrate: 数值积分和微分方程求解器
-
scipy.linalg: 扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能
-
scipy.optimize: 函数优化器以及根查找算法
-
scipy.signal: 信号处理工具
-
scipy.sparse: 稀疏矩阵和稀疏线性系统求解器
-
scipy.special: SPECFUN的包装器
-
scipy.stats: 标准连续和离散概率分布、各种统计检验方法,以及更好的描述统计法
-
scipy.weave: 利用内联C++代码加速数组计算的工具
IPython本身并没有提供任何的计算或数据分析功能,其设计目的是在交互式计算和软件开发两个方面最大化提高生产力。
IPython标准键盘快键键
命令 | 说明 |
---|---|
Ctrl-P或上箭头 | 后向搜索命令历史中以当前输入的文本开头的命令 |
Ctrl-N或下箭头 | 前向搜索命令历史中以当前输入的文本开头的命令 |
Ctr-R | 按行读取的反向历史搜索(部分匹配) |
Ctrl-Shift-V | 从剪贴板粘贴文本 |
Ctrl-C | 中止当前正在执行的代码 |
Ctrl-A | 将光标移动到行首 |
Ctrl-E | 将光标移动到行尾 |
Ctrl-K | 删除从光标开始至行尾的文本 |
Ctrl-U | 清除当前行的所有文本 |
Ctrl-F | 将光标向前移动一个字符 |
Ctrl-b | 将光标向后移动一个字符 |
Ctrl-L | 清屏 |
常用的IPython魔术命令
命令 | 说明 |
---|---|
%quickref | 显示IPython的快速参考 |
%magic | 显示所有魔术命令的详细文档 |
%debug | 从最新的异常跟踪的底部进入交互式调试器 |
%hist | 打印命令的输入(可选输出)历史 |
%pdb | 在异常发生后自动进入调试器 |
%paste | 执行剪贴板中的Python代码 |
%cpaste | 打开一个特殊提示符以便手工粘贴待执行的Python代码 |
%reset | 删除交互命名空间中的全部变量/名称 |
%page OBJECT | 通过分页器打印输出OBJECT |
%run script.py | 在IPython中执行一个Python脚本文件 |
%prun statement | 通过cProfile执行statement,并打印分析器的输出结果 |
%time statement | 报告statement的执行时间 |
%timeit statement | 多次执行statement以计算系统平均执行时间 |
%who、%who_Is、%whos | 显示交互命名空间中定义的变量 |
%xdel varibale | 删除Variable,并尝试清除其在IPython中的引用 |
跟系统相关的IPython魔术命令
命令 | 说明 |
---|---|
!cmd | 在系统shell中执行cmd |
output=!cmd args | 执行cmd,并将stdout存放在output中 |
%alias alias_name cmd | 为系统shell命令定义别名 |
%bookmark | 使用IPython的目录书签系统 |
%cd directory | 将系统工作目录改为directory |
%pwd | 返回系统的当前工作目录 |
%pushd directory | 将当前目录入栈,并转向目标目录 |
%popd | 弹出栈顶目录,并转向该目录 |
%dirs | 返回一个含有当前目录栈的列表 |
%dhist | 打印目录访问历史 |
%env | 以dict形式返回系统环境变量 |
(I)Python调试器命令
命令 | 功能 |
---|---|
h(elp) | 显示命令列表 |
help command | 显示command的文档 |
c(ontinue) | 恢复程序的执行 |
q(uit) | 退出调试器 |
b(reak) number | 在当前文件的第number行设置一个断点 |
b path/to/file.py:number | 在指定文件的第number行设置一个断点 |
s(tep) | 单步进入函数调用 |
n(ext) | 执行当前行,并前进到当前级别的下一行 |
u(p)/d(own) | 在函数调用栈中向上或向下移动 |
a(rgs) | 显示当前函数的参数 |
debug statment | 在新的(递归)调试器中调用语句statement |
l(ist) statement | 显示当前行,以及当前栈级别上的上下文参考代码 |
w(here) | 打印当前位置的完整栈跟踪 |
参考文献:
利用Python进行数据分析. Wes McKinney. 唐学韬译