设为首页 - 加入收藏 辽源站长网 (http://www.0437zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: vivo 2 13.1 steam
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

7个Python特殊技巧,助力你的数据分析工作之路

发布时间:2019-10-29 05:41 所属栏目:[优化] 来源:机器之心编译
导读:本文列举了一些提升或加速日常数据分析工作的技巧,包括: Pandas Profiling 使用 Cufflinks 和 Plotly 绘制 Pandas 数据 IPython 魔术命令 Jupyter 中的格式编排 Jupyter 快捷键 在 Jupyter(或 IPython)中使一个单元同时有多个输出 为 Jupyter Notebook

本文列举了一些提升或加速日常数据分析工作的技巧,包括:

  • Pandas Profiling
  • 使用 Cufflinks 和 Plotly 绘制 Pandas 数据
  • IPython 魔术命令
  • Jupyter 中的格式编排
  • Jupyter 快捷键
  • 在 Jupyter(或 IPython)中使一个单元同时有多个输出
  • 为 Jupyter Notebook 即时创建幻灯片

1. Pandas Profiling

该工具效果明显。下图展示了调用 df.profile_report() 这一简单方法的结果:

7个Python特殊技巧,助力你的数据分析工作之路

使用该工具只需安装和导入 Pandas Profiling 包。

本文不再详述这一工具,如欲了解更多,请阅读:

https://towardsdatascience.com/exploring-your-data-with-just-1-line-of-python-4b35ce21a82d

2. 使用 Cufflinks 和 Plotly 绘制 Pandas 数据

「经验丰富的」数据科学家或数据分析师大多对 matplotlib 和 pandas 很熟悉。也就是说,你只需调用 .plot() 方法,即可快速绘制简单的 pd.DataFrame 或 pd.Series:

7个Python特殊技巧,助力你的数据分析工作之路

有点无聊?

这已经很好了,不过是否可以绘制一个交互式、可缩放、可扩展的全景图呢?是时候让 Cufflinks* *出马了!(Cufflinks 基于 Plotly 做了进一步的包装。)

在环境中安装 Cufflinks,只需在终端中运行! pip install cufflinks --upgrade 即可。查看下图:

7个Python特殊技巧,助力你的数据分析工作之路

效果好多了!

注意,上图唯一改变的是 Cufflinks cf.go_offline() 的导入和设置,它将 .plot() 方法变为 .iplot()。

其他方法如 .scatter_matrix() 也可以提供非常棒的可视化结果:

7个Python特殊技巧,助力你的数据分析工作之路

需要做大量数据可视化工作的朋友,可以阅读 Cufflinks 和 Plotly 的文档,发现更多方法。

  • Cufflinks 文档:https://plot.ly/ipython-notebooks/cufflinks/
  • Plotly 文档:https://plot.ly/

3. IPython 魔术命令

IPython 的「魔术」是 IPython 基于 Python 标准语法的一系列提升。魔术命令包括两种方法:行魔术命令(line magics):以 % 为前缀,在单个输入行上运行;单元格魔术命令(cell magics):以 %% 为前缀,在多个输入行上运行。下面列举了 IPython 魔术命令提供的一些有用功能:

(1) %lsmagic:找出全部命令

如果你只记得一个魔术命令,那必须得是这一个。执行 %lsmagic 命令将提供所有可用魔术命令的列表:

7个Python特殊技巧,助力你的数据分析工作之路

(2) %debug:交互式 debug

这可能是我最常使用的魔术命令了。

大部分数据科学家都遇到过这种情况:执行的代码块一直 break,你绝望地写了 20 个 print() 语句,想输出每个变量的内容。然后,当你最终修复问题后,你还得返回并再次删除所有 print() 语句。

不过以后再也不用这样了。遇到问题后只需执行 %debug 命令,即可执行想要运行的任意代码部分:

7个Python特殊技巧,助力你的数据分析工作之路

上图中发生了什么?

  • 我们有一个函数,它以列表为输入,并对所有的偶数取平方值。
  • 我们运行函数,但是出了些问题。但是我们并不知道怎么回事!
  • 对该函数使用%debug 命令。
  • 让调试器告诉我们 x 和 type(x) 的值。
  • 问题显而易见:我们把'6'作为字符串输入到函数中了!

这对于更复杂的函数非常有用。

(3) %store:在 notebook 之间传递变量

这个命令也很酷。假设你花了一些时间清洗 notebook 中的数据,现在你想在另一个 notebook 中测试一些功能,那么你是在同一个 notebook 中实现该功能,还是保存数据并在另一个 notebook 中加载数据呢?使用%store 命令后,这些操作都不需要!该命令将存储变量,你可以在其他任意 notebook 中检索该变量:

7个Python特殊技巧,助力你的数据分析工作之路

  • %store [variable] 存储变量。
  • %store -r [variable] 读取/检索存储变量。

%who:列出所有全局变量。

你是否遇到过,为变量赋值后却忘记变量名的情况?或者不小心删掉了负责为变量赋值的单元格?使用%who 命令,你可以得到所有全局变量的列表:

7个Python特殊技巧,助力你的数据分析工作之路

%%time:计时魔法命令

使用该命令可以获取所有计时信息。只需对任意可执行代码应用%%time 命令,你就可以得到如下输出:

7个Python特殊技巧,助力你的数据分析工作之路

%%writefile:向文件写入单元格内容

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章