Python3智能数据分析快速入门--1--python 概述

目录

 

书籍介绍

python 概述

介绍

Python特性

Python应用领域

Python机器学习优势

环境配置

Python 2还是Python 3

Anaconda简介

安装Anaconda 3

python解释器

python IDE

PyCharm的安装与使用

Jupyter Notebook的使用

课后习题

 

第一部分是Python编程基础篇(1~4章),第1章旨在让读者从全局把握Python以及利用Python进行智能数据分析的优势,并详细介绍了Python环境搭设与配置,同时还对两个常用集成开发环境做了详细介绍。第2章Python先对Python固定语法做了介绍,包括编码声明、注释、缩进等;而后介绍了Python常见的数据类型,包括str,list,tuple,dict,set等;另外还介绍了Python常用运算符,包括算术运算符,逻辑运算符,成员运算符,位运算符等。第3章主要对控制语句做了详细介绍,包括条件语句和循环语句,同时还介绍了和条件语句类似的异常处理try-except-else语句。第4章主要介绍了Python的内置函数、自定义函数、面向对象编程以及第三方库的安装与使用方法。

第二部分是数据分析编程篇,第5~9章主要对数据分析中常用的第三方库做了详细介绍,强调在Python中对应函数的使用方法及其结果的解释说明。内容涵盖了数值分析库NumPy,数据处理库pandas,绘图库Matplotlib、Seaborn、Bokeh,机器学习与数据分析建模库scikit-learn。整体内容涵盖了数据读取、数据预处理、模型构建、模型评价、结果可视化,几乎涵盖了整个数据分析过程,充分而又详细地说明了Python数据分析的常用操作,读者在本书的指导下,能够从零开始入门快速入门数据分析。

python 概述

介绍

Python特性

Python语言是一门解释型动态强类型的面向对象编程语言。

由于计算机无法理解除机器语言以外的任何语言,所以必须将程序员编写的程序语言翻译成机器语言,计算机才能执行程序。按翻译的时机的不同,翻译的过程可分为编译和解释两种。在程序编写完成后进行翻译的过程称为编译,而在编写后不进行翻译在执行时才进行翻译的过程称为解释。解释型语言与编译型语言不同,解释性语言编写的程序不需要编译,节省了一道工序,在运行程序的时候才翻译。而编译型语言编写的程序在执行之前,需要一个专门的编译过程,将程序编译成为机器语言的文件。这使得Python比起其他编译型语言发布时更为便捷,但因为在执行时有一个翻译的过程,Python在执行效率上比编译型语言低一些。

动态类型语言是指在程序运行期间才去做数据类型检查的语言。在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在第一次赋值给变量时,在内部将数据类型记录下来。Python就是一种典型的动态类型语言。而静态语言与动态语言相反,静态语言的数据类型是在编译期间检查的在编写程序时需要声明所有变量的数据类型。C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、Java等。

强类型定义语言(Explicit Type Conversion)是指一门计算机语言是否为强制数据类型定义的语言。强类型语言中的变量被指定为某个数据类型后,在被强制转换前永远是该数据类型。而弱类型语言与强类型定义语言相反,一个变量的数据类型是不确定的。Python是一门强类型的语言,Python不会对数据类型作隐式转换,而是调用方法对数据类型进行强制转换。除Python外,Java、C、C++和C#也是典型的强类型语言

Python应用领域

Python作为一个设计优秀的程序语言,现在已广泛应用于各种领域,依靠其强大的第三方类库,Python在各个领域都能发挥巨大的作用。

1.数值计算

数值计算是数据挖掘、机器学习的基础。Python提供多种强大的扩展库用于数值计算,常用的数值计算库如表1-1所示。Python3智能数据分析快速入门--1--python 概述_第1张图片

2.数据可视化

数据可视化是展示数据、理解数据的有效手段,常用的Python数据可视化库如表1-2所示。Python3智能数据分析快速入门--1--python 概述_第2张图片

3.Web开发

Web应用开发可以说是目前软件开发中最重要的部分。Python提供各种Web开发框架,帮助使用者快速实现功能开发。常用的Python网络开发类库如表1-3所示。Python3智能数据分析快速入门--1--python 概述_第3张图片

4.数据库管理

数据库是企业用于存放数据的主要工具,数据库管理包括了数据定义、数据操作、数据库运行管理、数据组织、数据库库保护、数据库维护等。Python提供了所有主流关系数据库管理接口,常用的Python MySQL连接库及其简介如表1-4所示。Python3智能数据分析快速入门--1--python 概述_第4张图片

5.自动化运维

运维的主要内容包括保障业务长期稳定运行、保障数据安全可靠、自动化完成部署任务。Python能够满足绝大部分自动化运维的需求,目前在Linux运维中已用Python实现的应用如表1-5所示。

 

6.GUI编程

GUI(Graphical User Interface,图形用户界面)是指采用图形方式显示的计算机操作用户界面。Python提供多个图形开发界面的库用于GUI编程,常用Python GUI库如表1-6所示。

 

Python3智能数据分析快速入门--1--python 概述_第5张图片

Python机器学习优势

Python是机器学习领域最优秀的编程语言之一,与同样支持机器学习且自带机器学习应用的MATLAB不同的是,由于Python是开源项目,所以几乎所有必要的组件都是完全免费的。当前机器学习领域的主流编程语言为Python、R、MATLAB、Java和C/C++,如表1-7所示。Python3智能数据分析快速入门--1--python 概述_第6张图片

Python目前集成了大量的机器学习框架,其中常用机器学习库如表1-8所示。

深度学习作为机器学习的分支,绽放了耀眼的光芒。由于Python的易用性与可扩展性,众多深度学习框架提供了Python接口,其中较为流行的深度学习库如表1-9所示。Python3智能数据分析快速入门--1--python 概述_第7张图片

环境配置

Python 2还是Python 3

Python 3.x引入了一些与Python 2不兼容的关键字和特性,为避免带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容,许多针对早期Python版本设计的程序都无法在Python 3.0上正常运行。为照顾现有程序,Python 2.6作为一个过渡版本,在使用Python 2.x的语法和库的同时兼顾向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。基于早期Python版本且能正常运行于Python 2.6并无警告的程序,可以通过一个2 to 3的转换工具无缝迁移到Python 3.0。Python 2.7被确认为最后一个Python 2.x版本,除支持Python 2.x语法外,还支持部分Python 3.1语法。

Python核心团队计划在2020年停止支持Python 2,目前大部分第三方库已经完成向Python 3.x的迁移工作,推荐在新的程序中使用Python 3.x版本。

 

Anaconda简介

Anaconda是一个Python的集成开发环境,可以便捷地获取库,且提供对库的管理功能,同时对环境可以统一管理的发行版本。Anaconda包含Conda、Python等在内的超过180个科学库及其依赖项。其主要特点为:开源,安装过程简单,高性能使用Python和R语言,免费的社区支持等。其包含的科学库包括:Conda、NumPy、SciPy、IPython Notebook等。Anaconda支持目前主流的多种系统平台,包含Windows、MacOS和Linux(x86/Power8)。

 

安装Anaconda 3

python解释器

Python3智能数据分析快速入门--1--python 概述_第8张图片

python IDE

1.IDLE

IDLE是开发Python程序的基本IDE,具备基本IDE的功能,是非商业Python开发的不错选择,是Python创造者Guido van Rossum使用python and Tkinter创建的一个集成开发环境。使用IDLE必须安装python and Tkinter,其特性包含:自动缩进、彩色编码、命令历史(Alt+p,Alt+n)和单词自动(Alt+/)完成。IDLE的界面如图1-10所示。

Python3智能数据分析快速入门--1--python 概述_第9张图片

2.PyCharm

PyCharm是专业的Python集成开发环境,有社区版和商业版两个版本。PyCharm拥有最多的企业用户,如Twitter、Groupon、Spotify、eBay和Telefonica等。

PyCharm的大部分功能在社区版本中都是可用的,包括智能代码补全、直观的项目导航、错误检查和修复、遵循PEP8规范的代码质量检查、智能重构以及图形化的调试器和运行器。还能与IPython Notebook进行集成,并支持Anaconda及其他的科学计算库,比如Matplotlib和NumPy。PyCharm专业版本支持更多高级的功能,如远程开发功能、数据库支持及对Web开发框架的支持等。

PyCharm支持很多的第三方Web开发框架,如Django、Pyramid、web2py、Google App Engine和Flask,这些也使得PyCharm成为一个完整的快速应用集成开发环境。PyCharm的主界面如图1-11所示。Python3智能数据分析快速入门--1--python 概述_第10张图片

3.Eclipse+PyDev

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。其本身是一个框架和一组服务,用于通过插件组件构建开发环境。在Eclipse中,Python应用程序的开发和调试主要通过PyDev插件来实现。PyDev插件的出现方便了众多Python开发人员,该插件提供一些很好的功能,如:语法错误提示、源代码编辑助手、Quick Outline、Globals Browser、Hierarchy View、运行和调试等。

4.Rodeo

Rodeo是一个专门用于Python实现数据科学的IDE,被认为是IPython Notebook的一个轻量级替换。Rodeo采用yhat开发,基于IPython内核,支持自动代码补全、结果数据分析。它运行于浏览器中,带有键盘快捷键,其交互性让用户感觉更像是一个本地应用。Rodeo使用IPython内核来处理UI和Python环境之间的通信,编辑器使用的是Ace。

其主要功能包含:执行脚本、运行分析、自动完成、检查数据、可见的绘图、文档和帮助。Rodeo的主界面如图1-13所示。Python3智能数据分析快速入门--1--python 概述_第11张图片

5.Jupyter Notebook

Jupyter Notebook以网页的形式打开,可在网页页面中直接编写代码和运行代码,代码的运行结果将会直接在代码块下显示Jupyter Notebook以文档的形式体现所有交互计算、编写说明文档、数学公式、图片,以及其他富媒体形式的输入和输出,这部分文档将保存为后缀名为.ipynb的JSON格式文件,方便与他人共享和进行版本控制。

Jupyter Notebook的主要特点如下:

1)可直接通过浏览器运行代码,同时在代码块下方展示运行结果。

2)编程时具有语法高亮、缩进、Tab补全的功能

3)对代码编写说明文档或语句时,支持Markdown语法

4)以富媒体格式展示计算结果,富媒体格式包括:HTML、LaTeX、PNG、SVG等。

5)支持使用LaTeX编写数学性说明

Jupyter Notebook的代码界面如图1-14所示。Python3智能数据分析快速入门--1--python 概述_第12张图片

PyCharm的安装与使用

安装,创建项目等略,这里介绍一下快捷键Python3智能数据分析快速入门--1--python 概述_第13张图片

Python3智能数据分析快速入门--1--python 概述_第14张图片

Python3智能数据分析快速入门--1--python 概述_第15张图片

Python3智能数据分析快速入门--1--python 概述_第16张图片

 

 

还有不少,这里不全贴出来。

Jupyter Notebook的使用

安装启动略;

单击右上角的“New”按钮,在弹出的标签栏中选择“Python 3”,即可创建一个Python文件;

单击左上方的“Untitled”按钮可修改文件名;

Python3智能数据分析快速入门--1--python 概述_第17张图片

快捷键

Jupyter Notebook拥有两种键盘输入模式。

第1种是编辑模式,此时允许往单元中键入代码或文本。该模式下的单元框线是绿色的,并且活动单元框内有光标闪烁;

第2种是命令模式,此时允许通过键盘输入运行程序的命令。该模式下的单元框线是蓝色的,且单元框内没有光标闪烁;

 

 

Python3智能数据分析快速入门--1--python 概述_第18张图片Python3智能数据分析快速入门--1--python 概述_第19张图片

编辑模式下可使用的快捷键及其用途

Python3智能数据分析快速入门--1--python 概述_第20张图片

 

Python3智能数据分析快速入门--1--python 概述_第21张图片

 

 

 

课后习题

1.选择题

(1)下面关于Python版本描述错误的是( )。

A.第一个Python解释器诞生于1991年

B.Python核心团队将在2020年停止支持Python 2

C.Python 3.x向下兼容Python 2

D.Python的最新版本为Python 3.7

(2)下面不属于Python特性的是( )。

A.解释性

B.静态

C.动态

D.面向对象

(3)下面关于Python机器学习库描述错误的是( )。

A.sklearn为Python机器学习标准库

B.Tensorflow由Facebook团队开发

C.PyTorch的计算方式都是动态的

D.Theano是一个更为学术化的神经网络模块

(4)下面关于Python解释器描述错误的是( )。

A.CPython使用C语言开发

B.JPython运行在Java平台上

C.IPython使用html开发

D.PyPy与CPython的执行结果有可能不同

(5)下面关于Python IDE描述错误的是( )。

A.PyCharm无法免费使用

B.IDLE是Python基本IDE

C.Jupyter Notebook可在网页页面中直接编写代码和运行代码

D.Spyder是一个开源的轻量级Python开发环境

2.操作题

(1)按照1.2.3节中的步骤安装Anaconda 3,并使用Jupyter Notebook创建一个应声虫程序。

(2)按照1.3.3节中的步骤安装社区版PyCharm,并使用PyCharm编写一个简单的求和程序。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(ML,ppython3,李明江)