第一个部分matplotlib
什么是matplotlib 几个单词拼接而成matrix plot library
为什么使用matplotlib
matplot的三层结构 容器层 辅助显示层 图像层
容器层 画板层canvas 画布层plt.figure figsize dpi 多个绘图区/坐标系plt.subplots(nrows,ncols,figsize,dpi) 返回两个实例对象 figure,axes
图像层 折线图plot 散点图scatter 柱状图bar 直方图hist 饼图pie
还可以设置图像的颜色和风格
辅助显示层 修改x,y的刻度,plt.x/yticks()
添加描述信息plt.x/ylabel plt.title 添加网格plt.grid() 显示图裂plt.legend()
第二个部分numpy
Numpy优势 内存存储风格,存储相同类型,所以存储连续 并行化运算 底层是由C语言实现
ndarray属性 shape形状 类型
基本操作 ndarray的方法,另一种numpy的函数 生成数组的方法
生成0和1的数组 np.zeros(shape) np.ones(shape)
从现有数组中生成 np.array() np.copy() np.asarray()浅拷贝
生成固定范围的数组 np.linespace(a,b,c)生成a到b的c个数组 np.arrange(a,b,c)
生成随机数 均匀分布np.random.uniform,正态分布np.random.normal
切片索引 对形状和类型修改 np.reshape np.resize np.T np.astype() 序列化到本地np.tostring
数组去重 np.unique()
运算 逻辑运算 统计运算 数组间运算
逻辑运算 布尔索引 通用判断函数np.all() np.any() 三元运算符np.where(a,b,c)第一个参数是数组的布尔值,b是true的,c是false的
统计运算 统计指标 最大值和最小值的问题 argmax() argmin()
数组间运算
数组与数的运算 数组与数组的运算 广播机制 矩阵运算
第三个部分 pandas基础数据处理
pandas基础数据处理
pandas介绍
pandas的基本操作
运算
pandas画图
文件读取和存储 I/O操作
panel datas analysis 三个单词拼接成的
为什么使用pandas 便捷的数据处理能力 集成了numpy和matplotlib的操作 文件读取方便
series dataframe panel
serise 带索引的一维数组 属性index,values(值的类型是一维的ndarray)
dataframe 带索引的二维数组 属性shape.index(行索引),columns(列索引),values值 方法有head tail 索引设置 修改行列索引 重设索引 设置索引 行列索引必须全部修改
panel 带索引的三维数组 带multiIndex的dataframe
基本操作 索引操作 赋值操作 排序
直接索引:必须先列后行 如果先行后列 必须加上.loc 按名字进行索引 .iloc按数字进行索引 .ix组合索引
排序sort_values() 索引sort_index()
运算-算数运算 逻辑运算 统计运算 自定义运算
算数运算 即可以算数符又可以算数函数
逻辑运算 逻辑运算符,返回一组布尔值,利用布尔索引 函数 query()里面添加查询语句 isin
统计运算 获取综合的统计指标 具体的统计指标 累计统计指标
获取综合的统计指标 df.describe
具体的统计指标 min max 注意axis的设置
累积 cum()
自定义运算 df.apply(func,axis=)
画图 df.plot() sr.plot()
csv
hdf5
json
格式的数据读入读出
pd.read_csv usecols names
df.to_csv(path,columns,是否存储索引index,header是否要头部)
hdf5特别要注意pd.read_hdf(path) 如果有个多个键,要指定key
df.to_csv(path)
pd.read_json(path) records lines
代码部分
第一部分matplotlib
简单的图
导入plt import
然后三步走,创建画布,创建花板,显示图像
plt.savefig("名字")
上海的天气
加上了x,y的刻度 plt.x/yticks()
增加了网格grid()
增加了标签x_label
lt.xticks([0,1],[1,2],rotation=0)
[0,1]代表x坐标轴的0和1位置,[2,3]代表0,1位置的显示lable,rotation代表lable显示的旋转角度。
官方给出的例子是:
xticks( arange(5), (‘Tom’, ‘Dick’, ‘Harry’, ‘Sally’, ‘Sue’) )
用’Tom’, ‘Dick’, ‘Harry’, ‘Sally’, 'Sue’作为[0,1,2,3,4]位置显示的label。
第一个参数相当于x是多少频率,x_labels是多少频率
yticks()同样的
关于随机数random的方法,uniform 生成随机数,x是随机数的最小值,y是随机数的最大值