1 基本
1.1 基本介绍
掌握表示, 清洗, 统计和展示数据的能力
Numpy, Matplotlib, Pandas, Projects
摘要: 有损的提取数据特征的过程
可以将一组数据, 摘要出
1) 基本统计(排序)
2) 分布/累计统计
3) 数据特征 相关性, 周期性等
4) 数据挖掘(形成知识)
1.2 Anaconda
Anaconda是数据分析的基本工具
具体有
1) 开源免费
2) 支持800多个第三方库
3) 包含多个主流工具
4) 适合数据计算领域开发
5) 全平台支持
Anaconda是一个集成各类Python工具的集成平台
Anaconda本身不是一个开发工具, 而是一个平台
Anaconda是基于conda这个包管理和环境管理工具的
conda是一个工具, 用于包管理和环境管理, 与pip类似, 管理Python第三方库, 允许多用户使用不同版本Python, 并且能灵活切换
anaconda = conda + Python + 第三方库
1) conda
conda的命令行使用方式(conda推出的时候推荐使用方式):
检测conda版本
conda --version
更新conda
conda update conda
在Anaconda中的conda的图形化方式:
打开Anaconda, 可以找到Environments, 默认生成了一个叫做root的环境空间, 这就是conda的图形界面形式, 里面列好了安装和未安装的包
还可以通过新建一个环境空间, 配置新的环境
2) Spyder
这个Anaconda集成的一个编程工具
可以找home中找到spyder, 点击launch打开
默认打开方式界面有三个区域, 分别是坐车的编辑区, 右上的文件导航和帮组区, 右下是IPython区
可以修改界面区域设置
也可以设置编辑区的主题
Tools -> preference -> Syntax coloring -> Scheme -> Monokai
IPython是一个功能强大的交互式shell
适合交互式数据可视化
适合GUI相关应用
IPython的使用技巧
可以在变量后面加上? 来查看具体信息
IPython的输入提示前面有 In 表示提示输入, Out 表示输出, 后面中括号里面的是输入命令的序号
直接在命令行中执行py文件
%run py文件
%魔术命令
IPython事实上提供了交互接口, 具体执行还是Python内核
2 Numpy入门
2.1 数据的维度
维度: 一组数据的组织形式
一维数据: 沿着一个方向(X轴)展开
一维数据由对等的, 有序或者无序的 数据构成, 采用线性方式组织
可以列表, 数组, 集合等表示
列表与数组基本相似, 只有一点不同, 数组内的数据类型是一致的, 但是列表不要求数据类型一致
二维数据: 沿着两个方向(X轴, Y轴)展开(类似表格)
由多个一维数据构成, 是一维数据的组合形成
可用列表形式表示
多维数据
由一维或者二维数据在新维度上扩展形成
可用字典, 列表形式表示
2.2 ndarray
NumPy是一个开元的Python科学计算基础库, 内含:
1) N维数组对象 ndarray
2) 广播功能函数, 用于在数组之间进行计算
3) 整合c/c++/Fortran代码工具
4) 线性代数, 傅里叶变换, 随机数生成
NumPy是SciPy, Panda是等数据处理或者科学计算库的基础
引用NUmPy
import numpy as np
np是一个约定俗成的别名
ndarray
是NumPy中用作N维数组对象
与列表相比, 有更适合科学计算的特点
1) ndarray内的数据是同一类型, 因此可以整体对该类型进行操作, 更加贴近使用
2) 经过优化, 可以提升基于这个特点的运算速度
3) 基于这个特点, 可以节省运算和存储空间(因为类型相同)
由两部分构成
1) 实际的数据
2) 描述这些数据的元数据(数据维度, 数据类型等)
一般要求所有元素的类型是相同的
数组的下表是从0开始的
两个基本概念
1) 轴(axis) 保存数据的维度 在轴上, 每个数据存储在其中
2) 秩(rank) 轴的数量(数据类型有多少个维度)
对象的属性
ndarray支持的元素类型
这样的精确定义可以使得对存储空间有一个更好的优化, 也可以帮组估计程序的规模
另外, 尽量在定义ndarray的时候使用同质的对象, 也就是元素的个数相同
如果不同质, 那么ndarray会把整个元素当成一个对象
2.3 ndarray数组的创建和变换
创建ndarray的四种方式
1) 使用列表, 元组
2) 使用NumPy穿件ndarray数组, 如arange, ones, zeros
3) 从字节流(raw bytes)中创建
4) 从文件中读取特定格式
1) 使用列表, 元组创建
变量名 = np.array(列表或者元组类型数据, dtype=np.类型)
其中可以不指定dtype, 这样NumPy会根据输入的内容来自动判断使用什么样的数据类型
2) 最常用的方法, 使用NumPy穿件ndarray数组
由于浮点数在科学计算中的普遍性, 基本上创建出的都默认使用浮点数作为类型