Python 数据科学手册:IPython

2018.11.19

1、工具下载&安装

工欲善其事,必先利其器。建议下载 Anaconda,(我下载的版本是 conda 4.5.11,对应 Python 版本为 3.6.5)好处:
①自带三百多个科学数据包、
②安装环境良好(以前我用自己下载的 Python 来 pip install xx库时,某些库容易出错)、
③环境管理方便(创建虚拟环境,容易实现环境的转移和保证环境的纯净,尤其是多版本的 Python 共存时),
④自带 IPython 和 Jupyter Notebook
在安装过程中勾选 2 个选项(加入 Path、下载 Python)。
浏览器建议使用 Chrome,并设为默认浏览器。

2、IPython 常用命令

下载安装完成后,可以通过 Jupyter Notebook 直接打开,界面如下,若浏览器未打开,可直接在浏览器中输入:http://localhost:8888
Python 数据科学手册:IPython_第1张图片
打开后新建 Python3 文件 如下:
Python 数据科学手册:IPython_第2张图片
常用命令整理:
① ?:获取函数、对象(包括自定义函数和对象)、对象方法等文档
如查看 len 函数的文档Python 数据科学手册:IPython_第3张图片
查看对象的文档
Python 数据科学手册:IPython_第4张图片
查看对象方法的文档
Python 数据科学手册:IPython_第5张图片
查看自定义函数
Python 数据科学手册:IPython_第6张图片

② ?? : 获取源代码:
使用方法与 ?类似,可用于 Python 函数或是模块。
Python 数据科学手册:IPython_第7张图片
若无法显示源代码,则有可能是该函数源代码是由其他语言编译扩展实现的。此时显示的会与 ?方法相同。如 len 函数:
Python 数据科学手册:IPython_第8张图片

③ TAB 键补全功能:
输入对象 + . + TAB 键,可以出现该对象可用的方法可供选择。
Python 数据科学手册:IPython_第9张图片
若在TAB 键前输入其他字母,则会出现前缀是该字母的候选方法。如 L.c +TAB
默认省略私有方法和特殊方法,若需要则输入 L.__ + TAB 即可。

2018.11.20
通用符匹配:匹配中间或末尾的几个字符时很好用。
如:*Warning? 会列出以 Warning 结尾的所有对象。

3、IPython 魔法命令

以 % 符号开头,是 IPython 在 Python 语法基础上的增强功能。分为行魔法(%)和单元魔法(%%)。
①粘贴代码块:
遇到问题:UsageError: Line magic function %cpaste not found.
%paste 和 %cpaste 在 IPyhon 5.0版本后已取消,直接复制粘贴即可。查看 IPython 版本号:在 cmd 中 输入 IPython 即可。

现在支持:
键入时语法突出显示
真正的多行编辑(向上和向下箭头键在行之间移动)
多行粘贴,不会破坏缩进或立即执行代码
更好的代码完成界面(我们计划进一步改进)可选的鼠标支持
使用以下命令升级 IPython:

pip install ipython --upgrade

② %run:
执行外部代码,可以将外部代码放到 IPython 保存的地方(即相对路径)或者用绝对路径:

file = 'C:\\Users\\cathy.chen\\Desktop\\test.py'

Python 数据科学手册:IPython_第10张图片

③ 计算代码运行时间:
%timeit :计算单行 Python 语句执行时间(多次计算,取均值)
%%timeit: 计算多行 Python 语句执行时间
Python 数据科学手册:IPython_第11张图片

④ 魔法函数的帮助:?、%magic 和 %lsmagic
?会获取魔法函数文档注释;
%magic 列出可用魔法函数的通用描述
%lsmagic 快速简单列出所有可用魔法函数列表

4、IPython 输入和输出历史

① IPython 的输入和输出对象:
IPython创建了 In 和 Out 的python变量
In对象是列表(按顺序记录所有命令),Out 对象是字典(前提是 In 对象要有相应的 Out 输出,print 和 import 等没有输出),Key 为该对象的序号,值为输出

②下划线和以前的输出
print(_):输出上一个历史输出
print(__):输出倒数第二个历史输出
若 IPython 历史中有输出但是被删除掉了,依然会出现在 下划线中
超过 3 条下划线该功能失效,用 _x(下划线+行号)代替

③ 禁止输出:
当有用到禁止输出时(画图时较多),可在行末尾添加一个分号就行(没有输出,但是结果被默默计算了,且结果不会存储也不会显示);

④ 相关魔法命令:
%history -n x-y:输出 第x到y条命令
Python 数据科学手册:IPython_第12张图片

5、IPython 与 Shell 命令

占坑,后续用到再补上

6、错误和调试

① 控制异常:%xmode
有 3 个参数可选
%xmode Plain:精简的异常信息
%xmode Context: 普通的异常信息
%xmode Verbose: 详细的异常信息

② 调试:
占坑,后续用到再补上

7、代码分析

占坑,后续用到再补上

8、参考资料

① 网络资源
IPython 网站(http://ipython.org):
IPython 网站链接到各种相关文档、示例、教程以及很多其他资源。

nbviewer 网站(http://nbviewer.ipython.org/):
该网站展示了网络上任何可用的IPython Notebook 的静态翻译。该网站的首页展示了一些示例Notebook,通过这些示例你可以看到其他人用IPython 做了什么。

有趣的IPython Notebook 集合(http://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks/):
这是由nbviewer 运行的最全的Notebook 列表(并且该列表还在不断增长),展示了通过IPython 可以进行多深、多广的数值分析。它还包括短小的示例、全套课程教程以及Notebook 格式的图书。

② 书籍:
利用 Python 进行数据分析:第一版为 Python 2.7,第二版为 Python 3.6(但是纸质= =!)

你可能感兴趣的:(机器学习)