一.Python的安装及管理工作环境
说到Python我们就不得不提到Anaconda,事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境。Anaconda是包管理器和环境管理器,Jupyter notebook 是可以将数据分析的代码、图像和文档全部组合到一个web文档中的编程工具。
首先安装Anaconda只需在官网下载安装https://www.continuum.io/downloads (选择适合自己电脑配置的版本)。
Anaconda的安装非常的简单方便,安装完成后,我们接下来就是要利用Anaconda来管理包了,主要包含以下4方面:
1. 安装包
在终端键入:conda install package_names(package_names是包的名称)
2. 卸载包
在终端键入:conda remove package_names(package_names是包的名称)
3. 更新包
在终端键入:conda update package_name(package_names是包的名称)
4. 列出已安装的包
在终端键入:conda list
Anaconda可以设置很多的工作环境,各环境内的工作相互独立,那么我们要如何管理这些环境呢?下面我将从以下几方面介绍:
1) 创建环境
在终端中使用:conda create -n env_name package_names
上面的命令中,env_name 是设置环境的名称(-n 是指该命令后面的env_name是你要创建环境的名称),package_names 是你要安装在创建环境中的包名称。例如,要创建环境名称为 py3 的环境并在其中安装 numpy,在终端中输入 conda create -n py3 pandas。
创建环境时,可以指定要安装在环境中的 Python 版本
例如:conda create -n py3 python=3
2) 进入环境
在 Windows 上,你可以使用 activate my_env进入。在 OSX/Linux 上使用 source activate my_env 进入环境。
3) 离开环境
在 Windows 上,终端中输入:deactivate
在 OSX/Linux 上 输入:conda deactivate
4) 共享环境
使用 conda env export > environment.yaml 将你当前的环境保存到文件中包保存为YAML文件(包括Pyhton版本和所有包的名称)。然后分享给别人就可以了。
5) 列出环境
用 conda env list 就可以列出你创建的所有环境
6) 删除环境
用 conda env remove -n env_name 删除指定的环境
二.快速学习Python的四个关键点
1. 了解基本的5钟数据类型,主要包括:
1) 字符串型数据,string
2) 数值型数据,number
3) 容器:列表、元组、集合、字典
4) 布尔值:True和False
5) 空值:None
2. Python中的函数:
Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
自定义函数语法:
1) 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
2) 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
3) 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4) 函数内容以冒号起始,并且缩进。
5) return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
函数参数分为不可变数据类型和可变数据类型两种:
1) 不可变数据类型:整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
2) 可变数据类型:列表,字典。传递的是该变量的引用地址
3. 条件判断语句
条件判断的一般语法如下图:
其中条件判断的边界条件分为如下图两种:
条件判断中还存在多个条件的判断,其格式如下图:
4. For循环语句
For循环的本质一句话概括就是:把容器中的每个数据都按照特定的规则进行重复处理,其语法为如图所示:
在for循环中有两个重要的关键字:
1) continue:其用法是,跳过当前循环,进入下一个循环。
例如:
2) break:其用法是退出整个循环。
例如:
三.重要的Python模块和包
Python中包含很多的模块和包,但并不是每个模块我们都能应用的到,以下简单介绍几个关于数据分析的重要的包。
1. Numpy
Numpy是python科学计算的基础包,它提供以下功能(不限于此):
1)快速高效的多维数组对象ndarray
2)用于对数组执行元素级计算以及直接对数组执行数学运算的函数
3)用于读写硬盘上基于数组的数据集的工具
4)线性代数运算、傅里叶变换,以及随机数生成
5)用于将C、C++、Fortran代码集成到python的工具
2. pandas
pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数。pandas兼具Numpy高性能的数组计算功能以及电子表格和关系型数据(如SQL)灵活的数据处理能力。它提供了复杂精细的索引功能,以便更为便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。
3. matplotlib
matplotlib是最流行的用于制图及其他二维数据可视化的Python库。它被设计为适合出版的制图工具。对于Python编程者来说也有其他的可视化库,但它依然使用最为广泛,并且与生态系统的其它库良好整合。
四.Python中的数据结构
Python的数据结构由四种:列表、元组、集合、字典
1. 列表
列表由方括号[]定义,列表包含4个操作:
1) 增加元素,使用append()函数,如图所示:
2) 删除元素,使用关键字del,例如:
3) 查询元素,使用列表索引号查询相对于的元素,例如:
4) 修改元素,直接指定列表下标的值对数据进行修改,例如:
2. 元组
元组是通过小括号()进行定义的,且元组是不可修改的,因此元组也没有其他什么复杂的操作了,平时运用的也比较少。
3. 集合
集合的定义是{},集合是一个没有重复元素的容器。集合也包含是个操作,如下所示:
1) 增加数据,使用update()函数增加元素,例如:
2) 删除数据,使用discard()函数删除元素,例如:
3) 查询数据,可以利用下标查询,也可以利用关键字in查询,返回布尔值,例如:
4) 修改数据,这里的修改一般包含删除和添加两步,操作如上所示。
4. 字典
字典也是通过{}来定义的,它展示的是映射关系(key/value的映射关系),其中key和value以:连接它们的映射关系。集合的元素是无序且唯一的。集合也包含基础的4项操作。
1) 增加,通过定义key所对应的value值来增加元素。如图:
2) 删除,利用del删除,如图:
3) 查询,通过key来查找相应的value值,如图:
4) 修改,通过key值直接给value赋值,例如: