购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第1章
搭建Python开发环境

工欲善其事,必先利其器。Python的学习过程少不了代码开发环境,可以帮助开发者加快开发速度,提高效率。本章介绍Python可视化编程的基础,包括软件的安装、搭建代码开发环境以及初步认识Python程序等。本书中使用的环境是基于Python 3.10.9的Anaconda,是截至2023年5月的新版本。

1.1 集成开发工具Anaconda

Anaconda是Python的一个集成管理工具或系统,它把Python进行相关数据计算与分析所需要的包都集成在了一起,用户只需要安装Anaconda,即可使用Python语言及其相关的分析包进行可视化分析。

1.1.1 什么是Anaconda

Anaconda是一个用于科学计算的Python发行版,支持Linux、macOS和Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本Python并存、切换以及各种第三方包的安装问题。Anaconda利用工具/命令conda来进行包和环境的管理,并且其中已经包含Python语言本身和相关的配套工具。

Anaconda是一个打包的集合,里面包含NumPy、Pandas、Matplotlib等数据科学相关的开源包,在数据分析、数据可视化、大数据和人工智能等多方面都有涉及,包括Scikit-Learn、TensorFlow和PyTorch等。

Anaconda官方网站对其功能的概括如图1-1所示。

图1-1 主要的机器学习库

Anaconda的优点总结起来就8个字:省时省心,分析利器。

· 省时省心:Anaconda通过管理工具包、开发环境、Python版本大大简化了用户的工作流程,不仅可以方便地安装、更新、卸载工具包,而且能自动安装相应的依赖包,同时还能使用不同的虚拟环境隔离不同要求的项目。

· 分析利器:Anaconda官方网站中是这么宣传自己的,适用于企业级大数据分析的Python工具,其包含720多个数据科学相关的开源包,在数据可视化、机器学习、深度学习等多方面都有涉及,不仅可以进行数据分析,还可以用在大数据和人工智能领域。

1.1.2 安装Anaconda

Anaconda的安装过程比较简单,首先进入Anaconda的官方网站下载需要的版本,这里选择Windows版本的64-Bit Graphical Installer,如图1-2所示。如果官方网站下载速度较慢,还可以到清华大学开源软件镜像站下载。

图1-2 下载Anaconda

软件下载好后,以管理员身份运行Anaconda3-2023.03-1-Windows-x86_64.exe文件,单击Next按钮,安装过程比较简单,最后单击Finish按钮即可,主要安装过程如图1-3所示。

图1-3 安装Anaconda

安装结束后,正常情况下会在计算机的“开始”菜单中出现Anaconda3(64-bit)文件夹,单击其下方的Anaconda Prompt,然后输入python,如果出现Python的版本信息,就说明安装成功,如图1-4所示。

图1-4 查看Python版本

Anaconda是一个基于Python的数据处理和科学计算平台,内置了许多非常有用的第三方库,安装Anaconda后,就相当于把Python和NumPy、Pandas、Scipy、Matplotlib等常用的库自动安装好了。但是,如果选择非集成环境Python的话,那么还需要使用pip install命令逐个安装各种库,尤其是对于初学者来说,这个过程是非常痛苦的。

Python第三方包众多,但是调用包的时候,有时会遇到问题,比如安装包失败,安装速度很慢,很影响自己的工作进度,可能还会报错,这是由于我们在CMD窗口使用pip安装的时候,默认下载的是国外资源,会由于网速不稳定甚至没有网速而出现问题,解决办法如下:

(1)首先搜索需要安装的包名称,然后去国外的网站进行下载。在本地安装包时,用户可以在窗口中看到系统会自动安装相关包,但是可能也会出现下载失败的情况,出现这种情况时,只需继续去国外网站下载缺失的包,然后在本地安装即可。

(2)第二种方法是一劳永逸的方法,选择国内镜像源,相当于从国内的一些机构下载所需的Python第三方包。那么如何选择国内镜像源,如何配置呢?首先在计算机中显示隐藏的文件,并找到C:\Users\shang\AppData\Roaming,其中shang是个人的计算机的名称,然后在该路径下新建一个文件夹,命名为pip,在pip文件夹中新建一个TXT格式的文本文档,将下面这些代码复制到该文本文档中,关闭并保存。最后将文本文档重新命名为pip.ini,这样就创建了一个配置文件。

     [global]
     timeout = 60000
     index-url = https://pypi.tuna.tsinghua.edu.cn/simple
     [install]
     use-mirrors = true
     mirrors = https://pypi.tuna.tsinghua.edu.cn

文档中的链接地址还可以更换成如下地址:

· 阿里云:http://mirrors.aliyun.com/pypi/simple/。

· 中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/。

· 豆瓣(douban):http://pypi.douban.com/simple/。

· 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/。

· 中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/。

通过以上操作,后续我们使用pip安装第三方包的时候,就默认选择国内源进行安装,这样安装速度较快。

1.2 常用代码开发工具

Python数据分析的常用代码开发工具有Spyder、JupyterLab和PyCharm。由于本书介绍的是数据可视化,经常需要展示一些图表,相对而言,个人认为JupyterLab这个开发工具比较合适。本节我们会逐一介绍上述3个代码开发工具,读者根据自己的喜好选择其一即可。

1.2.1 简单易用的Spyder

安装Anaconda后,默认会安装Spyder工具,因此不需要再单独安装。Spyder是Python的作者为它开发的一个简单的集成开发环境,与其他的开发环境相比,它最大的优点就是模仿MATLAB的“工作空间”的功能,可以方便地观察和修改数组的值。

Anaconda安装成功后,默认会将Spyder的启动程序添加到环境变量中,可以通过单击计算机的“开始”按钮,再单击其快捷方式启动Spyder,也可以在命令提示符中输入spyder命令启动Spyder,如图1-5所示。

图1-5 启动Spyder

Spyder界面由多个窗格构成,包括Editor、Console、Variable explorer、File explorer、Help等,用户可以根据自己的喜好调整它们的位置和大小,如图1-6所示。

图1-6 Spyder界面

高效使用Spyder窗格可以方便我们进行Python代码的开发。表1-1中列出了Spyder的主要窗格及其作用。

表1-1 Spyder的主要窗格及其作用

在使用Spyder进行代码开发时,需要在Editor窗格的空白区域编写代码,例如print("Hello Python!"),编写完毕后,可以通过工具栏上的运行按钮运行程序,也可以按快捷键F5,我们可以在Spyder界面右下方的Console窗格中看到结果或报错信息等,如图1-7所示。

图1-7 运行示例程序

快捷键可以方便我们进行代码的开发和测试,Spyder的常用快捷键如表1-2所示。此外,可以通过Tools→Preferences→Keyboard Shortcut查看所有快捷键。

表1-2 Spyder的主要快捷键

1.2.2 功能强大的JupyterLab

JupyterLab是Jupyter Notebook的新一代产品,它集成了更多功能,是使用Python(R、Julia、Node等其他语言的内核)进行代码演示、数据分析、数据可视化等很好的工具,对Python的愈加流行和在AI领域的领导地位有很大的推动作用,它是本书默认使用的代码开发工具。

安装Anaconda后,默认安装JupyterLab工具,启动JupyterLab的方法比较简单,只需要在命令提示符中输入jupyter lab命令即可。JupyterLab程序启动后,浏览器会自动打开编程窗口,默认地址是http://localhost:8888。

可以看出,JupyterLab页面左边是存放笔记本的工作路径,右边就是我们需要创建的笔记本类型,包括Notebook和Console,还可以创建Text File、Markdown File、Show Contextual Help等其他类型的文件,如图1-8所示。

图1-8 JupyterLab界面

我们可以对JupyterLab的参数进行修改,如对远程访问、工作路径等进行设置,配置文件位于C盘系统用户名下的.jupyter文件夹中,文件名称为jupyter_notebook_config.py。

如果配置文件不存在,就需要自行创建,单击图1-8中的Other选项下的Terminal,使用jupyter notebook --generate-config命令即可生成配置文件,并且会显示出文件的存储路径及名称,如图1-9所示。

图1-9 配置JupyterLab

JupyterLab提供了一个命令来设置密码:jupyter notebook password,生成的密码存储在jupyter_notebook_config.json文件中,下方将会显示文件的路径及名称,如图1-10所示。

图1-10 配置JupyterLab密码

如果需要允许远程登录,还需要在jupyter_notebook_config.py中找到下面几行代码,取消注释并根据项目的实际情况进行修改,修改后的配置如下:

     c.NotebookApp.ip = '*'
     c.NotebookApp.open_browser = False
     c.NotebookApp.port = 8888

如果需要修改JupyterLab的默认工作路径,需要找到下面的代码,取消注释并根据项目的实际情况进行修改,本书修改后的配置如下:

     c.NotebookApp.notebook_dir = u'D:\\Python数据可视化之Matplotlib与Pyecharts实战'

待需要配置的参数都修改完毕后,需要重新启动JupyterLab才能生效,启动后首先需要我们输入刚刚配置的密码,如图1-11所示。

图1-11 输入密码

输入密码后,单击Log in按钮,在新的编程窗口中,左边的工作路径会发生变化,现在呈现的就是D盘的“Python数据可视化之Matplotlib与Pyecharts实战”文件夹。

1.2.3 高效流行的PyCharm

PyCharm是一个比较常见的Python代码开发工具,可以帮助用户在使用Python语言开发时提高效率,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。

在开始安装PyCharm之前,需要确保计算机上已经安装了Java 1.8以上的版本,并且已配置好环境变量。安装PyCharm后,还需要配置其代码开发环境,首次启动PyCharm,会弹出配置窗口,如图1-12所示。

如果之前使用过PyCharm并有相关的配置文件,则在此处选中Config or installation folder单选按钮;如果没有使用过PyCharm,保持默认设置,即选中Do not import settings单选按钮,然后单击OK按钮。在同意用户使用协议页面,勾选确认同意选项,并单击Continue按钮,如图1-13所示。

图1-12 软件配置窗口

图1-13 用户使用协议

确定是否需要进行数据共享,可以直接单击Don't send按钮,如图1-14所示。选择主题,左边为黑色主题,右边为白色主题,根据需要选择即可,这里我们选择Light类型,并单击Next:Featured plugins按钮继续后面的插件配置,如图1-15所示。

图1-14 数据共享设置

图1-15 选择软件主题

PyCharm设置完成后,单击Create New Project选项,就可以开始创建一个新的Python项目。在New Project页面,在Location中设置项目路径并选择解释器。注意,这里默认使用Python的虚拟环境,即第一个New environment using选项,再单击Create按钮,如图1-16所示。

图1-16 配置新项目

如果不使用虚拟环境,一定要修改,则需要选择第二个Existing interpreter选项,然后选择需要添加的解释器,再单击Create按钮,如图1-17所示。在弹出的PyCharm欢迎页面,取消勾选Show tips on startup复选框,不用每次都打开欢迎界面,单击Close按钮,退出使用指导过程。

图1-17 配置解释器

创建Python文件,在项目名称的位置右击,依次选择New→Python File,输入文件名称Hello,并按Enter键即可,如图1-18所示。

在文件中输入代码:print("Hello Python!");,然后在文件中的任意空白位置右击,选择Run'Hello'选项,在界面的下方显示Python代码的运行结果,如图1-19所示。

图1-18 新建Python文件

图1-19 运行Python代码

1.3 认识Python程序

使用Python进行数据可视化必须掌握Python编程相关知识,本节先来认识一个Python程序的特点及其构成。

1.3.1 一个简单的Python程序

首先用一个简单的Python程序计算圆的面积,示例代码如下:

     import math
     r = float(input("请输入圆的半径:"))
     area = math.pi * math.pow(r, 2)
     print("圆的面积为:", area)

这个程序可以计算给定半径的圆的面积。程序首先使用import关键字导入Python的math模块,以便在程序中使用数学常量pi和pow函数,pow函数用来计算半径的平方。

在Python中,import语句用来引入其他模块或库的功能,使得我们可以在自己的程序中直接使用这些功能,而不需要重新编写它们。

当我们在程序中使用import关键字时,Python会执行以下操作:

(1)Python会在当前工作目录中寻找指定的模块或库。

(2)如果在当前目录下没有找到指定的模块或库,则会在Python的标准库路径中继续寻找。

(3)如果在Python的标准库路径中也没有找到指定的模块或库,则会尝试查找用户自定义的路径。

(4)一旦Python找到指定的模块或库,就会加载和执行它,并将它的命名空间中的所有对象全部导入当前程序的命名空间中。对于比较大的模块或库,通常只需要引入其中的一部分功能。在这种情况下,可以使用import语句后面跟上from关键字和模块或库中需要引入的具体功能。例如,如果我们只需要使用Python的math库中的pi常数和sqrt函数,那么可以这样写:

     from math import pi, sqrt

这样,我们就只能使用math库中的pi常数和sqrt函数,而不是整个math库的所有功能。这样可以提高程序的运行效率和可读性。

然后,代码会要求用户输入圆的半径。我们使用float()函数将用户输入的字符串转换为浮点数,并将其保存在变量r中。之后,使用公式πr²计算圆的面积,并将结果保存在变量area中。

最后,程序会使用print()函数将计算出的圆的面积打印在屏幕上。

要运行这个程序,我们可以将代码保存在一个以.py为扩展名的文件中,例如area.py。打开控制台或终端,并在程序所在的目录下输入以下命令:

     python area.py

程序将会交互式运行,在控制台上提示用户输入半径的值。

这是一个非常简单的示例,但它演示了Python的基本语法和功能。我们看到,一个Python程序包括很多内容,如变量、函数、字符串等,这些概念我们会在后续的内容中详细介绍。

如果你刚开始学习Python,请试着把这个程序打印出来并检查每一行的作用,以便更好地理解Python程序的工作方式。

1.3.2 Python的常量和变量

在Python中,变量和常量是两种不同的概念。

变量是在程序执行过程中可以改变值的标识符。在Python中,变量使用等号“=”进行赋值。例如:

     x = 10              #把10赋值给变量x
     name = "ChatGPT"    #把字符串"ChatGPT"赋值给变量name

变量名可以包含字母、数字和下画线,但不能以数字开头。Python的变量名区分大小写,因此name和Name是两个不同的变量。

常量是指在程序中永远不会改变值的标识符。在Python中,常量通常使用全大写字母表示。Python并没有约定好如何定义常量,但约定俗成的是,使用全大写字母来表示常量,例如:

     PI = 3.1415926   #把浮点数3.1415926赋值给常量PI
     MAX_COUNT = 100  #把整数100赋值给常量MAX_COUNT

虽然Python中没有真正意义上的常量,但程序员可以通过这种方式来告诉读者,这是一个不会改变值的标识符。

1.3.3 编写Python程序的注意事项

编写Python程序时,请注意以下几个要点。

(1)注意缩进:在Python中,缩进非常重要。程序中的每个语句块必须使用相同数量的空格,否则会出现语法错误。建议在每个缩进层次中使用4个空格。

(2)导入模块:Python提供了许多内置模块和第三方库。在程序中导入所需的模块可以使代码更加简洁和易于维护。通常,import语句应该放在程序的开头。

(3)变量命名规范:Python中的变量名应该清晰、简洁和易于理解。建议使用有意义的名称来描述变量的用途,并使用小写字母、下画线和数字。变量名应该以字母或下画线开头,不能以数字开头。函数名同样按照这个规则。

(4)注释:Python中的注释可以提高代码的可读性。单行注释可以使用井号(#),多行注释可以使用三引号('''...''')。

(5)错误处理:编写正确的Python程序需要包括错误处理。try-except块可以捕获和处理程序中的异常。在try块中包含可能引发异常的代码,在except块中包含异常处理代码。

以下是一个简单的Python代码示例,其中包含缩进和注释。

     #创建一个变量sum,初始化为0
     sum = 0
     #for循环,变量i在1~100范围内循环
     for i in range(1,101):
         #在循环体内,每一次都将i加到sum上
         sum = sum + i
     print(sum)    #输出sum的值

在此示例中,sum = sum + i语句被缩进了4个空格。这种缩进方式是一种符合PEP 8规范的代码风格。

注释使用井号(#)表示,示例中的注释可使代码更易于理解和维护。

在Python中,通常是一行写完一条语句,如果要写多条语句,就需要使用分号分隔。此外,如果语句很长,还可以使用反斜杠(\)来实现换行,但是在[]、{}或()中的多行语句不需要使用反斜杠,示例代码如下:

     order_mon = 91; order_tue = 78; order_wed = 83; order_thu = 85; order_fri = 82;
order_sat = 129; order_sun = 116
     order_total = order_mon + order_tue + order_wed + \
                      order_thu + order_fri + order_sat + order_sun
     order_day = ["order_mon", "order_tue", "order_wed", "order_thu",
                    "order_fri", "order_sat", "order_sun"]

1.4 包管理工具pip

在实际编程工作中,会用到很多模块和开发工具或第三方包,此时可以使用pip来安装它们,pip是最常用的Python第三方包管理工具。下面介绍如何通过pip进行第三方包的安装、更新、卸载等操作。

安装单个第三方包的命令如下:

     pip install packages

安装多个库包,需要将包的名字用空格隔开,命令如下:

     pip install package_name1 package_name2 package_name3

安装指定版本的包,命令如下:

     pip install package_name==版本号

当要安装一系列包时,如果写成命令可能会比较麻烦,此时可以把要安装的包名及版本号写到一个文本文件中。例如,文本文件的内容与格式如下:

     arrow==1.2.2
     astropy==5.1
     astunparse==1.6.3
     atomicwrites==1.4.0
     anaconda-client==1.11.0
     anaconda-navigator==2.3.1

然后使用-r参数安装文本文件下的包,命令如下:

     pip install -r 文本文件名

查看可升级的第三方包,命令如下:

     pip list -o

更新第三方包,命令如下:

     pip install -U package_name

使用pip工具可以很方便地卸载第三方包,卸载单个包的命令如下:

     pip uninstall package_name

批量卸载多个包的命令如下:

     pip uninstall package_name1 package_name2 package_name3

卸载一系列包的命令如下:

     pip uninstall -r 文本文件名

此外,在JupyterLab中也可以很方便地使用pip工具,在JupyterLab窗口中单击Console控制台下的Python 3启动按钮,如图1-20所示。

图1-20 打开Console

然后,在下方的代码输入区域输入相应的代码即可,如图1-21所示。也可以使用pip安装、更新和卸载第三方包。

图1-21 代码输入区域

1.5 本章小结

Python是深受广大数据分析师喜爱的数据分析工具,本章通过结合实际操作和范例介绍了Python编程的相关知识,包括软件集成环境Anaconda的安装、常用代码开发工具、Python程序的构成和特点等,对于从未接触过Python编程的初学者来说,如果想用Python进行数据可视化,掌握编程技能可以说是最基本的要求。

本章只是一个开始,下一章将带领读者进入Python编程的精彩世界。 cgGjGUd+rudCoI5V+1cfnVWR1JEvgCwvW0X5PxIQeALW4buDCLfvb8jt2nB65VBU

点击中间区域
呼出菜单
上一章
目录
下一章
×