Python数据分析(一): ipython 技巧!

简介: 不一定非得使用Jupyter Notebook,试试ipython命令行 安装 ipython 我只试过Windows 10环境下的。 1.安装python安装包之后,应该就有ipython了。 2.安装anaconda,这个做机器学习或数据分析要是需要的,这个装完之后,也会有ipython。

不一定非得使用Jupyter Notebook,试试ipython命令行

安装 ipython

我只试过Windows 10环境下的。

1.安装python安装包之后,应该就有ipython了。

2.安装anaconda,这个做机器学习或数据分析要是需要的,这个装完之后,也会有ipython。(建议使用anaconda,国内镜像地址:https://mirrors.tuna.tsinghua.edu.cn/

启动ipython

1.命令行输入ipython即可启动。

2.或者找一下快捷方式,也可以启动。

帮助?

1.help,python内置了help方法,相信大家都会这个。例如:help(len),然后就会显示len方法的帮助文档:

2.?,ipython独有的提供了一个快捷字符?,它也可以访问帮助文档,例如:

查看源码??

使用?? 来查看python的源码:

但是,如果源码不适用python写的(有些内置的方法使用C等语言写的),就会出现如下效果:

自动完成 Tab

Tab键在ipython中输入时可提供自动完成或浏览功能。

有时候优点像python内置的dir()函数,但强大得多。

这是L.后边点击Tab的效果。下面是再输入一个字母c之后的智能提示的效果:

提示私有属性

使用Tab默认只显示public和external属性/方法,如果想显示私有属性,那么按约定,你要先输入一个下划线_

import的时候也可以使用Tab

通配符*

有时候tab不够用,那就使用通配符 * 。

例如:显示以Error结尾的对象:

注意后边还有个?。

*可以匹配任何字符串包括空字符串。

另一个例子,包含xxx字符串:

快捷键

导航类:

Ctrl+a,移动光标到行首

Ctrl+e,移动光标到行尾

Ctrl+b(或←),向左移动一个字符

Ctrl+f(或→),向右移动一个字符

输入类:

Backspace:删除行中前一个字符

Ctrl+d,删除行中下一个字符

Ctrl+k,从光标位置剪切到行尾。

Ctrl+u,从行首剪切到光标位置。

Ctrl+y,粘贴之前剪切的文字。

Ctrl+t,调换前两个字符的位置。

命令历史类:

Ctrl+p,前一个命令,和↑好像一样。

Ctrl+n,后一个命令,和↓好像一样。

Ctrl+r,倒序搜索。

其中Ctrl+r是挺有用的,例如:

按Ctrl+r后,输入a,就会倒序搜索之前的输入。

如果有相同的历史搜索结果的话,你可以点击多次Ctrl+r继续往前翻。

其它快捷键:

Ctrl+l,清屏

Ctrl+c,中断当前python命令

Ctrl+d,退出ipython

 

魔法命令

复制多行代码 %paste,%cpaste

在ipython命令行中使用Ctrl+c复制多行代码经常会出现问题(缩进等问题),使用%paste命令,解决了这个问题。

输入%paste,然后回车,就会把你剪切盘里面的内容完美的复制进来并执行

%cpaste,和%paste类似,但是它会提供一个交互界面,以便输入多个代码块。

执行外部代码 %run

直接举例:

为代码执行计时:%timeit,%%timeit

对单行代码的执行计时:%timeit:

对多行代码执行计时:%%timeit:

魔法命令的帮助文档:

使用%maigc,可以查看所有魔法命令及其文档。

使用%lsmagic,可以列出所有的魔法命令。

输入输出历史

使用ipython shell,您一定对左边这些in,out特别熟悉。

但是,它们不是装饰品,它们俩是变量

In和Out是两个变量,并且随着命令的输入,实时更新。

其中:

In是一个list,而Out是一个Dictionary。

所以可以这样查看具体的In和Out:

其中需要注意的是,并不是所有的In都有输出,例如[37]。

下划线和前一个输出

使用一个下划线 _ 来获取前一个输出结果,它是个变量,实时更新的。

使用两个下划线 __ 可以获取倒数第二个输出,使用三个下划线 ___ 获取倒数第三个输出。(没有输出的命令行不计入在内)

最多也只能使用三个下划线,超过三的话可以使用Out[X]或者_X来获取之前的输出:其中X是命令行号,不是往前数的个数。

抑制输出

有时候在输入命令后,我们不想让其输出结果,那就这样,在行的最后边加一个 ; 分号。

这样的话,第76行也就没有输出了,Out[76]就不存在了。

相关的魔法命令:%history

使用%history可以一起获取前面多个命令:

注意其参数-n后边跟的是 命令行号的区间。

Shell Commands和IPython交互

你可以在ipython中使用任何shell commands(暂时叫系统命令行的命令吧),只要在前边加一个叹号 !

(其实,对于常见的shell命令,直接输入就会好用。。因为automagic属性默认是on的,详见后边)

从Shell向ipython传值

直接写个赋值表达式就可以,等号的右边是Shell命令:

注意:传进来的值的类型不是list,而是:IPython.utils.text.SList。

从ipython向Shell传值:

使用{变量名}的形式赋值:

注意:不可以使用 !cd 这个文件系统导航命令。

Shell相关的魔法命令

如果想要在ipython中进行系统导航,那么应该使用%cd这个魔法命令。

 

automagic

如果把automagic属性设置为on,那么魔法命令前边就不需要%这个符号了。

默认automagic是on的,你可以输入automagic,那么它就会在on/off之间切换。

因为魔法命令包含了很多常见的shell命令,例如%cd,%pwd,%ls等等等等。所以默认情况下直接输入常见的shell命令就会好用。

Exception显示的详细程度

如果解释器击中异常的时候,可以在traceback中查看异常信息。

使用%xmode可以控制异常信息的详细程度:

%xmode 只有一个参数,后选项从简到繁是 Plain,Context,Verbose。我的电脑默认是Verbose。

Debugging

%xdebug 魔法命令。

在发生异常后,输入%xdebug,会进入debug模式ipdb。在这里输入变量可以查看变量的值,也可以执行python命令!

如果你想在发生任何异常的时候就进入debug模式,那么可以把pdb设置为on:

此外,如果你想在运行外部脚本的时候直接进入debug模式,那么就应该输入这个命令:

%run -d

部分Debug命令(ipdb模式下):

l(ist),显示在文件中的当前位置。

h(elp),帮助

q(uit),退出Debugger和程序。

c(ontinue),退出Debugger,继续执行程序。

n(ext),执行程序的下一步

<enter>,重复上一个命令

p(rint),打印变量

s(tep),进入子程序

r(eturn),从子程序跳出

分析(Profiling)和计时模式

%time,适用于对单个长时间运行的表达式的程序计时。

%timeit,适用于对循环类的单行程序计时,它更准确。

注意:%timeit的结果通常比%time更快。

%prun,使用分析器运行代码

此外,还可以安装第三方分析工具,例如%lprun(逐行分析),%memit(单个表达式内存分析),%mprun(逐行内存分析)等等。

 

 

下一篇文章,写一下Numpy的使用技巧

下面是我的关于ASP.NET Core Web API相关技术的公众号--草根专栏:

目录
相关文章
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
使用Python进行数据分析的入门指南
【10月更文挑战第42天】本文是一篇技术性文章,旨在为初学者提供一份关于如何使用Python进行数据分析的入门指南。我们将从安装必要的工具开始,然后逐步介绍如何导入数据、处理数据、进行数据可视化以及建立预测模型。本文的目标是帮助读者理解数据分析的基本步骤和方法,并通过实际的代码示例来加深理解。
132 3
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
本书介绍了如何将Python与Excel结合使用,以提升数据分析和处理效率。内容涵盖Python入门、pandas库的使用、通过Python包操作Excel文件以及使用xlwings对Excel进行编程。书中详细讲解了Anaconda、Visual Studio Code和Jupyter笔记本等开发工具,并探讨了NumPy、DataFrame和Series等数据结构的应用。此外,还介绍了多个Python包(如OpenPyXL、XlsxWriter等)用于在无需安装Excel的情况下读写Excel文件,帮助用户实现自动化任务和数据处理。
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
207 5
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
深入浅出:使用Python进行数据分析的基础教程
【10月更文挑战第41天】本文旨在为初学者提供一个关于如何使用Python语言进行数据分析的入门指南。我们将通过实际案例,了解数据处理的基本步骤,包括数据的导入、清洗、处理、分析和可视化。文章将用浅显易懂的语言,带领读者一步步掌握数据分析师的基本功,并在文末附上完整的代码示例供参考和实践。
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等