Python笔记:pandas之数据清洗

删除重复的数据

#DataFrame的duplicated方法返回一个布尔型Series,表示各行是否是重复的行
data.duplicated()

#此方法会返回一个DataFrame,重复的数组会标为False
data.drop_duplicated()

#以上两个方法默认会判断全部列,也可以指定部分列进行重复项判断
#默认保留的是第一个出现的值组合,传入keep='last'则保留最后一个

数据联结

#使用map方法可以通过相同的列名进行两个DataFrame的联结操作
data.map()

替换值

#replace有两个参数
#第一个参数,是需要替换的对象,可以是常量、列表
#第二个参数,是替换的值,可以是常量、列表
data.replace()

重命名轴索引

#传入index=字典可以实现对部分轴标签的更新
#传入columns=字典可以实现对部分列标签的更新
#传入inplace=True可以实现原地修改
data.rename()

离散化和面元划分

与之相似的是qcut函数,它可以根据样本分位数对数据进行面元划拨。根据数据的分布情况,cut可能无法使各个面元中含有相同数量的数据点。而qcut由于使用的是样本分位数,因此可以得到大小基本相等的面元。

排列和随机采样

利用numpy.random.permutation函数可以轻松实现对Series或DataFrame的列的排列工作(permuting,随机重排序)。

通过需要排列的轴的长度调用permutation,可产生一个表示新顺序的整数数组。

然后就可以在基于iloc的索引操作或take函数中使用该数组了。

如果不想用替换的方式选取随机子集,可以在Series和DataFrame上使用sample方法。

要通过替换的方式产生样本(允许重复选择),可以传递replace=True到sample。

计算指标/哑变量

#将分类变量转换为“哑变量”或“指标矩阵”
#如果DataFrame的某一列中含有K个不同的值,则可以派生出一个K列矩阵或DataFrame(其值全为1和0)
#pandas有一个get_dummies函数可以实现该功能
#get_dummies的prefix参数可以给指标DataFrame的列加上一个前缀,以便能够和其他数据进行合并
pd.get_dummies()
posted @ 2021-07-07 17:26  游虚子  阅读(283)  评论(0)    收藏  举报