Table of Contents
- csv,json,html,ms,hdf5,sql等等
- csv,hdf,json,mysql ,excel
csv 使用
- pd.read_csv(path_or_buf ) 读取csv
- path_or_buf 路径或者buffer
- usecols (读取的列名) 列表形式
- 数据.to_csv(path_or_buf ,columns,index) 写入csv
- path_or_buf 路径
- columns 栏目(列)
- index 是否需要索引 True 需要
hdf5使用
- pd.read_hdf(path_or_buf ,key,mode)
- path_or_buf 路径
- mode : {'r', 'r+', 'a'}, default 'r'
- 数据.to_hdf(path_or_buf )
- path_or_buf 路径
- 注意:读取写入文件的后缀 *.h5
json 使用
- pd.read_json(path,orient)
- path 字节或者路径
- orient
* - lines
- 按照每行读取
- True 推荐使用 效高低一点
- typ 默认frame
- 指定转换成的对象类型series或者dataframe
- 数据.to_json()
- 存储支持压缩
- 读取,存入效率高
- 支持跨平台 hadoop
Pandas 高级处理 缺失值处理
- 基础操作
- np.all()
- np.any()
- pd.fillna()
- pd.dropna()
- data.replace()
- 缺失值处理
- 1.判断缺失值
- np.any(pd.isnull())
- np.any(pd.isnull(movie)) # 里面如果有一个缺失值,就返回True
- np.all(pd.notnull())
- np.all(pd.notnull(movie)) # 里面如果有一个缺失值,就返回False
- np.any(pd.isnull())
- 2.处理缺失值
- 数据.dropna()
- movie.dropna()
- 数据.fillna()
- movie[i].fillna(value=movie[i].mean(), inplace=True)
- 数据.replace()
- wis.replace(to_replace="?", value=np.NaN)
- 数据.dropna()
- 1.判断缺失值
Pandas 高级处理 数据离散化
- 为什么要数据离散化
- 什么是数据离散化
- 把一些数据分到某个区间内,使最后用不同的符号或者数字表达
- 数据离散化api
- pd.qcut() -- 把数据大致分为数量相等的基类
- pd.cut() -- 指定一个分组间隔
- 数量统计
- 对象.value_counts()
- one-hot 编码
- 介绍(哑变量,热独编码)
- 把数据展现成0-1形式
- 使用
- pd.get_dummies(数据,prefix=“前缀”)
- 数据必须是cut或qcut之后的数据 (存疑)
- pandas.core.series.Series类型
- 介绍(哑变量,热独编码)
Pandas 高级处理 合并
- 介绍
- 多个表分析 需要合并
- 使用:
- pd.concat([数据1,数据2],axis = 1)
- axis 按行还是按列连接
- pd.merge()
- left 左表
- right 右表
- on 两个字段
- inner 运算规则 (相同的展示,重复的就多展示一次)
- how 连接方式 inner
- left right inner outer
- pd.concat([数据1,数据2],axis = 1)
Pandas 高级处理 交叉表
- 1.什么是交叉表,透视表
- 探索两列数据之间的关系
- 2.pd.crosstab()
- 返回具体数量
- 3.对象.pivot_table()
- 返回占比情况
Pandas 高级处理 分组和聚合
- 1.介绍
* - 2.使用
- 对象.groupby()
- 参数:as_index – 是否进行索引 默认是
- 可以对数据多次分组(传递列表数据)
- 对象.groupby()
2.扩展延伸知识
- np.Nan是什么类型
- float
- dataframe 属性
- shape,index,columns,values,tail,head
- python中的值传递技巧
- 可以传递数组,可以传递单个值,
- 可以传递对象,可以传递字符串
- 需要在函数中判断一下,执行什么操作
- pandas 索引
- 就是行名
- hdf 文件
- pandas多维可以拆成series
- zlib使用
- 中位数
- 众数
- mysql 连接查询
3.灵感代办
4.复习内容
- 创建DataFrame
- DataFrame类似numpy的二维数组
- pd.DataFrame(ndarray)
- 可以是字典{key:[],key1:[]} 不能是常量,只能是列表
- shape,index,columns,values,T
- head,tail 获取前几行,后几行
5.学习成果&问题
- float
- shape,index,columns,values,tail,head
- 可以传递数组,可以传递单个值,
- 可以传递对象,可以传递字符串
- 需要在函数中判断一下,执行什么操作
- 就是行名
4.复习内容
- 创建DataFrame
- DataFrame类似numpy的二维数组
- pd.DataFrame(ndarray)
- 可以是字典{key:[],key1:[]} 不能是常量,只能是列表
- shape,index,columns,values,T
- head,tail 获取前几行,后几行
5.学习成果&问题
- DataFrame类似numpy的二维数组
- pd.DataFrame(ndarray)
- 可以是字典{key:[],key1:[]} 不能是常量,只能是列表
- shape,index,columns,values,T
- head,tail 获取前几行,后几行