Python数据分析环境和工具
一、数据分析工作环境
Anaconda:
Anaconda(水蟒)是一个科学计算软件发行版,集成了大量常用扩展包的环境,包含了 Python 解释器,conda 包管理工具,以及 NumPy、Pandas、Matplotlib 等 180 多个科学计算包及其依赖项,并且支持所有操作系统平台。
下载地址:https://www.continuum.io/downloads
-
conda
命令和pip
命令对比:
安装包:
pip install xxx
,conda install xxx
卸载包:
pip uninstall xxx
,conda uninstall xxx
升级包:
pip install upgrade xxx
,conda update xxx
二、数据分析工具
Python本身的数据分析功能不强,需要第三方的扩展库来增强的它的能力。我们课程用到的库包括NumPy
、Pandas
、Matplotlib
等,下面对这三个库做一个简单介绍,后面会通过案例深入讲解相关库的使用。
Numpy
Python并没有提供数组的功能。虽然列表可以完成基本的数组功能,但它不是真正的数组,而且在数据量较大的时候,使用列表的速度会慢的让人难以接受。为此,Numpy提供了真正的数组功能,以及对数据进行快速高效处理的函数。Numpy还是很多更高级的扩展库的依赖库,后面讲解的Matplotlib库、Pandas库都依赖于它。
Pandas
Pandas是Python下最强大的数据分析工具。它包含高级的数据结构,使得在Python中处理表格型数据非常快速和简单。Pandas构建与Numpy之上,它使得以Numpy为中心的应用很容易被使用,最初是被作为金融数据分析工具而开发出来的。
Pandas功能非常强大,支持类似与SQL的数据增、删、改、查,并且带有丰富的数据处理函数,支持灵活的处理缺失数据。
Matplotlib
处理数据分析的结果,都免不了数据可视化的问题。对于Python来说, Matplotlib来说是最著名的绘图库,它主要用于二维绘图。它可以让我们非常快捷的用Python可视化数据。
三、IDE开发工具
Jupyter Notebook:
命令:
jupyter notebook
-
Anaconda自带,无需单独安装
-
实时查看运行过程
-
基本的web编辑器(本地)
-
.ipynb 文件分享
-
可交互式
-
记录历史运行结果
-
支持编写markdown
IPython:
命令:
ipython
-
Anaconda自带,无需单独安装
-
Python的交互式命令行 Shell
-
可交互式
-
记录历史运行结果
-
及时验证结果
Spyder:
命令:
spyder
-
Anaconda自带,无需单独安装
-
免费,操作简单的图形界面IDE
PyCharm:
-
JetBrains公司出品,功能最强大的 Python 图形界面IDE。
-
收费软件,需要自行安装和购买:https://www.jetbrains.com/pycharm/download
四、Python3 常用的新特性
-
print() 是函数,不再是一个语句
-
Python2中的raw_input()输入函数,改为 input()
-
Python 3 对文本和二进制数据做了更为清晰的区分。
-
新增数据类型 bytes (字节包),代表二进制数据以及被编码的文本字符串前有个前缀
b
-
-
文本由unicode表示,为str类型
-
二进制数据由bytes (字节包)表示,为bytes类型
Python3中字符串类型 bytes 与 str 转换
-
str 可以编码(encode)成 bytes
-
bytes 可以解码(decode)成 str
字符串格式化输出方式:新增format()方式
dict类型变化:
之前的 iterkeys(), itervalues(), iteritems(),
改为现在的 keys(), values(), items()
五、字符串编码格式回顾:
-
ASCII
:早期计算机保存英文字符的编码方式 -
GB2312
:对ASCII的中文扩展 -
GBK/GB18030
:包括了GB2312的所有内容,同时又增加了近20000个新的汉字和符号,是简体中文Windows环境下默认编码格式 -
Unicode
:包括了全球的符号和编码。每个字符用3~4个字节表示,浪费空间 -
UTF-8
:可变长的编码方式,在互联网上使用最广泛的一种Unicode的实现方式,根据语种决定字符长度,如一个汉字3个字节,一个字母1个字节,也是Linux环境下默认编码格式。
在Python3中,Unicode编码字符串使用str
类型表示,非Unicode编码字符串(如gbk、utf-8等)用bytes
类型表示。
关注【Python开发者交流平台】公众号 ,在微信后台回复【领取资源】,获取IT资源200G干货大全。