pandas 基本操作
第一章 数据清洗
第二章 数据合并
第三章 数据重塑
第四章 数据转换
前言
数据清洗是一项复杂且繁琐
的工作,同时也是整个数据分析过程中最为重要
的环节。
数据清洗的目的在于
提高数据质量
,将脏数据
清洗干净,使原数据具有完整性
、唯一性
、权威性
、合法性
、一致性
等特点
脏数据
在这里指的是对数据分析没有实际意义
、格式非法
、不在指定范围内
的数据。
1. 重塑层次化索引
Pandas中重塑层次化索引的操作主要是
stack()
方法和unstack()
方法,前者是将数据的列“旋转”为行
,后者是将数据的行“旋转”为列
。
stack()
方法可以将数据的列索引转换为行索引
。
DataFrame.stack(level=-1, dropna=True)
level
:-1
表示操作内层索引
。若设为0
,表示操作外层索引
,默认为-1
。dropna
:表示是否将旋转后的缺失值删除
,若设为True
,则表示自动过滤缺失值,设置为False
则相反。
现在有一个DataFrame
类对象df
,如果希望将它重塑为一个具有两层索引
结构的对象result
,也就是说将列索引转换成内层行索引,则重塑前后的效果如下图所示。
unstack()
方法可以将数据的行索引
转换为列索引
。
DataFrame.unstack(level=-1, fill_value=None)
level
:默认为-1
,表示操作内层索引
,0
表示操作外层索引
。fill_value
:若产生了缺失值,则可以设置这个参数用来替换NaN
。
2. 轴向旋转
某件商品的价格在非活动期间为50元,而在活动期间商品的价格为30元,这就造成同一件商品在不同时间对应不同的价格。
同一款商品的在活动前后的价格无法很直观地看出来。
我们可以将商品的名称作为列索引,出售日期作为行索引,价格作为表格中的数据,此时每一行展示了同一日期不同手机品牌的价格。
通过表格可以直观地看出活动前后的价格浮动
在Pandas中pivot()方法提供了这样的功能,它会根据给定的行或列索引重新组织一个DataFrame对象。
pivot(index=None, columns=None, values=None)
index
:用于创建新DataFrame对象的行索引
。columns
:用于创建新DataFrame对象的列索引
。values
:用于填充新DataFrame对象中的值
。
转载于:https://edu.csdn.net/skill/python02/python-3-205?category=883&typeId=17523#3__395