0
20
1139
False
False
None
False
0
讲义
视频
<style type="text/css">
</style>
<!--style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
#overflow: visible;
#padding: 8px;
}
div#notebook {
overflow: visible;
border-top: none;
}@media print {
div.cell {
display: block;
page-break-inside: avoid;
}
div.output_wrapper {
display: block;
page-break-inside: avoid;
}
div.output {
display: block;
page-break-inside: avoid;
}
}
</style-->
<!-- Custom stylesheet, it must be in the same directory as the html file -->
<!--link href="/static/codemirror/codemirror.css" rel="stylesheet"-->
<!--link rel="stylesheet" href="/static/css/custom.css"-->
<!-- Loading mathjax macro -->
<section>
<div tabindex="-1" id="notebook" class="border-box-sizing">
<div id="notebook-container">
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<div style="text-align:center">
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Python的运行环境">Python的运行环境<a class="anchor-link" href="#Python的运行环境">¶</a></h1><p>Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写的Python程序,放到Linux也是能够运行。</p>
<p>Python语言的运行环境多种多样,与其他开发语言类似,Python语言也有许多种集成开发环境(Integrated Development Environment, IDE)。比较常见的一种情况是使用“IPython外加一个文本编辑器”的方式进行开发。相对于文本编辑器,总有人会更喜欢IDE,因为它们提供了许多不错的“代码智能化”功能,比如自动代码补全及快速获取函数和类的文档等。我们下面列举一些常见的运行环境:</p>
<ul>
<li>IPython</li>
<li>Jupyter Notebook</li>
<li>PyCharm</li>
<li>Spyder</li>
</ul>
<p>我们推荐在进行数据分析的时候使用IPython和Jupyter Notebook(原IPython Notebook)。我们所有课程的教案编写都是使用的Jupyter Notebook,它是一种非常棒的交互式计算工具,同时也是科研和教学的一种理想媒介。为了省去Python环境配置等麻烦,我们推荐使用Anaconda进行Python安装、环境配置及工具包管理。</p>
<p>再次声明一点:我们的课程不是Python详尽文档,而是希望数据分析人员能够通过Python快速接触到数据,并进行科学的分析。在这个过程当中,我们会省去一些对交互环境许多功能详细的介绍,比如快捷键、魔术命令等详细功能,需要详细了解这些功能,推荐大家去看<a href="http://product.dangdang.com/23368089.html">《利用Python进行数据分析》</a>这本书。这些操作我们会融入到之后的章节中,使我们在数据分析的实际过程中掌握一些编程的技巧,而不是一开始就深陷诸多功能的沼泽中。
<br>
<br></p>
<h2 id="交互式运行环境Ipython">交互式运行环境Ipython<a class="anchor-link" href="#交互式运行环境Ipython">¶</a></h2><p>首先,我们需要明白,在我们编写Python代码时,得到的是一个包含Python代码的以<code>.py</code>为扩展名的文本文件。如果要运行代码,就需要Python解释器去执行<code>.py</code>文件。解释器有非常多种。如果我们从Python官方网站单独下载并安装Python 3.6,我们就相当于获得了一个官方版本的解释器CPython。在命令行下运行<code>python</code>就是启动CPython解释器。而IPython是基于CPython的一个交互式解释器,它在交互方式上较CPython有所增强。</p>
<p>IPython鼓励一种“执行-探索”(execute-explore)的工作模式,与Matlab的命令窗口类似,在交互式环境的提示符<code>In[序号]:</code>下,输入代码之后,按下回车,便会立即得到代码运行结果,如下图所示。在这一点上,IPython不像其他许多编程语言那种“编辑-编译-运行”(edit-compile-run)的传统工作模式。</p>
<p>IPython的启动非常简单,在安装成功的前提下,只要在系统命令行窗口中输入<code>ipython</code>即可,如图所示。</p>
<p><img src="http://cookdata.cn/media/note_images/WechatIMG51_1537429772033_5d14.jpg" alt="png"></p>
<p>启动IPython之后,会出现几行提示信息,比如版本信息,如示例中的Python的版本为<code>Python 2.6.6</code>版本,IPython的版本为<code>IPython 6.4.0</code>。可以通过输入<code>?</code>得到IPython特征的详细介绍,通过<code>%quickref</code>可以显示IPython的快速参考,也可以直接在IPython中查看有助于交互式计算和Python开发的使用百分号<code>%</code>为前缀的魔术命令(magic command)等信息。并且可以使用<code>help()</code>查看帮助文档。也可以使用<code>object?</code>内省命令,用于查看<code>object</code>对象的一些通用信息。</p>
<p>比如通过在命令行中输入<code>?</code>获得IPython的详细介绍:
<img src="http://cookdata.cn/media/note_images/WechatIMG52_1537429792350_5d14.jpg" alt="png"></p>
<p>或者通过在命令行中输入<code>%quickref</code>获得IPython的快速参考:</p>
<p><img src="http://cookdata.cn/media/note_images/WechatIMG53_1537429805466_5d14.jpg" alt="png"></p>
<p>也可以通过在命令行中输入<code>help()</code>查看IPython的帮助文档:
<img src="http://cookdata.cn/media/note_images/WechatIMG55_1537429844452_5d14.jpg" alt="png"></p>
<p>通过使用内省<code>pandas?</code>查看Pandas的帮助文档(注意在查看之前,需要通过import方法导入Pandas包):
<img src="http://cookdata.cn/media/note_images/WechatIMG54_1537429820604_5d14.jpg" alt="png"></p>
<p>实际情况是,就算是非常有经验的数据分析人员,也不可能记住全部的操作命令的用法,所以我们需要对常用的命令熟悉,对常用命令之外的命令也有一个简单印象,在需要使用的时候求助参考文档。</p>
<p>下面我们通过魔术命令<code>%time</code>来报告“对斐波那契数列前12个数求和”的总体执行时间。</p>
<p><br>
<br>
2011年,由Brian Granger领导的IPython团队开始开发一种基于Web技术的交互式计算文档格式,即IPython Notebook,它支持代码运行、文本输入、数学公式编辑、内嵌式画图和其他如图片文件的插入,它能够将实时代码、公式、可视化图表以Cell的方式组织在一起,形成一个对代码友好的笔记本。它支持40多种编程语言。</p>
<h2 id="Jupyter-Notebook">Jupyter Notebook<a class="anchor-link" href="#Jupyter-Notebook">¶</a></h2><p>IPython是一个不断扩大的项目,具有越来越多的与语言无关(language-agnostic)的组件。IPython 3.x是IPython的最后一个包含notebook服务器和qtconsole等的单个完整版本。在IPython 4.0中,项目中与语言无关的组件:notebook、qtconsole和notebook网页应用等都被搬到了名为Jupyter的新项目中。分家后,IPython本身专注于交互式Python,其中的一部分是为Jupyter提供一个Python内核。IPython到Jupyter的过渡过程,有兴趣的同学可以去看<a href="https://blog.jupyter.org/the-big-split-9d7b88a031a7">此文章</a>。</p>
<p>Jupyter名字来源于JUlia、PYThon、R,并且Jupyter的读音和木星(Jupiter)类似。Jupyter同时支持Markdown语法和LaTex语法,可以有效输出富文本方式的PDF文档(导出PDF方式需要pandoc和MikTex,在需要时可参考)。</p>
<p>目前,它已经成为一种非常棒的科研和教学工具,在实际项目中,Jupyter Notebook也能更方便地向别人展示数据分析过程,代码及其结果都能非常好的呈现出来。</p>
<p><img src="http://cookdata.cn/media/note_images/fig10_1536910075671_5d14.jpg" alt="png"></p>
<p><div align="center">Jupyter Notebook图示</div>
<br></p>
<p>Jupyter Notebook不仅支持Python语言,也支持其他部分语言,比如R语言。在统计学学术领域,R语言已经统治了半壁江山。Jupyter Notebook存在支持R语言的核绝对是R使用者的福音。有意思的是,在2016年10月,R语言的集成环境RStudio也拥有了自己的R Notebook了。</p>
<p><img src="http://cookdata.cn/media/note_images/fig11_1536909890826_5d14.jpg" alt="png"></p>
<p><div align="center">Jupyter中的R核</div>
<br></p>
<p><img src="http://cookdata.cn/media/note_images/fig12_1536909885738_5d14.jpg" alt="png"></p>
<p><div align="center">RStudio中的R Notebook模块</div>
<br></p>
<p>在实际的数据分析过程中,数据分析人员可结合自己的使用习惯,在不同的运行环境中探索自己的数据,并进行建模分析。我们推荐使用Jupyter Notebook进行数据分析,并将自己数据分析的思考过程写在其中,方便之后整理思路以及向别人展示数据分析结果。</p>
<p>也许有人会说Jupyter Notebook并不利于“开发”代码,实际情况也是如此。但是在利用Python语言进行数据分析的时候,我们还是五星推荐使用Jupyter Notebook,一方面我们不至于被集成环境中许许多多复杂的模块搞得不知所措,另一方面Jupyter Notebook也为我们提供了一个记录数据分析轨迹的环境,如同一本笔记本,把所有的事情都集中在一处:执行代码、不同的标记和注释、嵌入式绘图以及LaTeX等式,不仅节约了时间,也在回顾某个数据分析项目时或者赶deadline时,成为你的救命武器。</p>
<p><strong>数据酷客的案例模块就是基于Jupyter Notebook开发的</strong>。</p>
<p>Python运行环境总结如下,从左至右分别是CPython、IPython和IPython Notebook(现Jupyter Notebook):</p>
<p><img src="http://cookdata.cn/media/note_images/fig13_1536909880164_5d14.jpg" alt="png"></p>
<p>在2016年7月,Jupyter团队发布了下一代Jupyter Notebook版本——JupyterLab,如下图所示,JupyterLab更像是一个带有Jupyter Notebook的集成开发环境。</p>
<p><img src="http://cookdata.cn/media/note_images/jupyterlab_1536909974753_5d14.jpg" alt="png"></p>
<p>不过目前公布的JupyterLab只是一个pre-alpha的测试版本,里面还存在不少的问题,让我们期待它的稳定版本。</p>
<p><br>
<br></p>
<h2 id="PyCharm和Spyder">PyCharm和Spyder<a class="anchor-link" href="#PyCharm和Spyder">¶</a></h2><p>不过针对大型的数据建模或者Web开发,Jupyter Notebook等之前介绍过的运行环境就显得力不从心了。这里我们推荐两种常用的IDE——PyCharm和Spyder。</p>
<p>Spyder是简洁的科学计算开发IDE。如果你使用过Matlab,你就会发现这两者的界面非常的相似。</p>
<p><img src="http://cookdata.cn/media/note_images/spyder_1536909952081_5d14.jpg" alt="png"></p>
<p><div align="center">Spyder界面</div>
<br></p>
<p>PyCharm是JetBrains打造了一款Python IDE,它是一个大型的IDE。它具备调试、语法高亮、项目管理、智能提示、自动补全、单元测试、版本控制等多个功能,同时,PyCharm还提供了一些很好的功能用于Django开发。</p>
<p><img src="http://cookdata.cn/media/note_images/pycharm_1536909924466_5d14.jpg" alt="png"></p>
<p><div align="center">PyCharm界面</div>
<br></p>
<p>在国外Slant社区关于<a href="https://www.slant.co/topics/366/~best-python-ides">“最好的Python IDE排行榜”</a>上,PyCharm稳居第一,Spyder排在第七位。由于PyCharm的功能较Spyder强大,且界面也有多种较友好的呈现方式,所以我们更加推荐使用PyCharm进行应用开发以及数据分析。
<br>
<br></p>
<h2 id="Anaconda">Anaconda<a class="anchor-link" href="#Anaconda">¶</a></h2><p>Anaconda是一个强大的数据科学计算平台,其官网称自己为“leading open data science platform powered by Python”。它不仅可以自动配置Python环境、下载并安装Jupyter Notebook、qtconsole和集成开发环境spyter,自带的包管理器conda也非常强大。安装完成的Anaconda自带超过100个最流行的数据科学领域的Python、R和Scala工具包。除此之外,用户还可以通过<code>conda</code>命令下载超过720个的工具包。</p>
<p><img src="http://cookdata.cn/media/note_images/fig14_1536909872456_5d14.jpg" alt="png"></p>
<p><div align="center">Anaconda Navigator主页</div>
<br></p>
<p>虽然有官网安装文档,但是我们还是希望有一个简版安装教程,省去其中复杂的配置,直接一步到位配置好运行环境和拥有常见数据分析工具包。</p>
<h3 id="安装过程">安装过程<a class="anchor-link" href="#安装过程">¶</a></h3><p>首先,我们进入<a href="https://www.continuum.io/downloads">Anaconda下载地址</a>并选择相应的操作系统:</p>
<p><img src="http://cookdata.cn/media/note_images/fig15_1536909854431_5d14.jpg" alt="png"></p>
<p><div align="center">选择操作系统</div>
<br></p>
<p>然后选择对应的系统版本:</p>
<p><img src="http://cookdata.cn/media/note_images/fig16_1536909835701_5d14.jpg" alt="png"></p>
<p><div align="center">选择系统版本</div>
<br></p>
<p>选择完系统版本之后,Anaconda安装文件就被下载下来了。然后我们按照相应系统软件的安装方式安装Anaconda(如Window系统双击.exe文件即可),然后根据提示点击下一步,再下一步,就安装好Anaconda了。</p>
<p>安装了Anaconda后,就可以在系统命令终端输入<code>jupyter qtconsole</code>或者<code>jupyter notebook</code>启动jupyter qtconsole或者jupyter notebook。另外,安装完Anaconda后,会有一个叫做Navigator的应用程序,启动该应用程序,就会出现图11所示的界面,从该界面可以看到,现在我们的系统已经安装好了Jupyter Notebook、qtconsole和Spyder,另外还有未安装的glueviz和orange-app,我们可以点击下方的launch按钮启动对应的应用。</p>
<h3 id="工具包管理">工具包管理<a class="anchor-link" href="#工具包管理">¶</a></h3><p>在Navigator中,有一栏Environments,该部分专门用于管理我们的Python工具包(如图所示),我们可以非常方便的在其中搜索我们想要的Python工具包,并下载安装:</p>
<p><img src="http://cookdata.cn/media/note_images/fig17_1536909812371_5d14.jpg" alt="png"></p>
<p><div align="center">Anaconda Navigator工具包管理页面</div>
<br></p>
<p>除此之外,Anaconda还提供了强大的<code>conda</code>命令,用于管理工具包,具体使用需要打开系统命令终端,通过<code>conda install 工具包名称</code>下载工具包,如通过命令<code>"conda install seaborn"</code>可以下载数据可视化分析工具包<code>seaborn</code>。</p>
<p><br></p>
</div>
</div>
</div>
</div>
</div>
</section>
环境配置_01_环境配置

0%
环境配置_01_环境配置
19:10
0
实战演练(1)
实战案例(1)
返回 >
1
实战演练
0
【填空题】
开始答题
结果输出
变量描述
模型评价
结果分布图
结果信息
5