学习笔记
1.删除重复值
DataFrame的duplicated方法返回的是一个布尔值Series, 反映的是每一行是否存在重复
drop_duplicates 返回的是DataFrame,内容是duplicated返回数组中为False的部分
以上方法默认对列进行操作,可以指定数据的任何子集来检测是否有重复
默认保留第一个观测到的值,传入参数keep='last’将返回最后一个
2.使用函数或映射进行数据转换
基于DataFrame中的数据、列或列中的数值进行一些转换
先写关系映射
Series 的map方法接收一个包含映射关系的字典型对象
3.替代值
replace方法
4.重命名轴索引
可以通过函数或某种形式的映射对轴标签进行类似的转换,生成新的且带有不同标签的对象,也可以在不生成新的数据结构的情况下修改轴
data.index.map(transform)
如果想创建数据集转换后的版本,且不修改原有数据集
data.rename(index=str.title,columns=str.upper)
5.离散化和分箱
连续值经常需要离散化或者分离成“箱子”进行分析
分组可使用pandas中的cut
pd.cut(yourgroup,bins,labels=groups_names)
如果传给cut整数个箱来代替显式的箱边,pandas将根据数据中的最小值和最大值计算出等长的箱
pd.cut(data,4,precision=2)
4指切成4份
precision=2的选项将十进制的精度限制在2位
qcut是一个与分箱密切相关的函数,它基于样本位数进行分箱,取决于数据的分布,使用cut通常不会使每个箱具有相同数据量的数据点
6.检测和过滤异常值
找出某一列
col=data[2]第三列
col[np.abs(col)>3]绝对值大于3
要选出所有的,使用any方法
data[(np.abs(data)>3).any(1)]
根据数值中的正负分别生成1和-1的值
np.sign(data).head()
7.置换和随机抽样
使用numpy.random.permutation对DataFrame中的Series或行进行置换非常方便
调用permutation时根据你想要的轴长度可以产生一个表示新顺序的整数数组
整数数组可以用在基于iloc的索引或等价的take函数中
8.计算指标/虚拟变量
DataFrame中一列有k个不同的值,可以衍生一个k列的值为1和0的矩阵或DataFrame
pd.get_dummies函数
内容部分引用于《利用Python进行数据分析》第2版(Wes McKinney著,徐敬一译),仅供大家一起学习交流
如有错误,请多指教