数据分析入门——pandas数据处理

1,处理重复数据

  使用duplicated检测重复的行,返回一个series,若是不是第一次出现,也就是有重复行的时候,则为True:数组

  

  对应的,能够使用drop_duplicates来删除重复的行:app

  

  以上两个方法,都不能有重复的列dom

 2.map函数:列处理

  map() 是一个Series的函数,DataFrame结构中没有map()。map()将一个自定义函数应用于Series结构中的每一个元素(elements)。函数

  传入一个拉姆达表达式:spa

  

   能够经过不存在的列名,利用map映射新增一列:(固然,此处map传入的能够是自定义函数,但不能是相似sum这样的UDTF聚合函数,而必须是UDF函数).net

  

  其余与apply、applymap等的区别,参考:http://www.javashuo.com/article/p-knjqzqty-gk.html3d

3.rename函数:替换索引

  使用renname函数替换行索引:(列索引经过columns控制同理,使用一个dict进行映射,包含映射的将会进行映射!)orm

  

  更加简单粗暴的方法能够直接经过df.index = 赋值操做来进行!对象

4.异常值检测和过滤

   经过describe查看统计性数值:count——数据量有几个数,mean是平均值,std表示标准差(波动),min/max最小/最大值,中间百分比则是取最小最大值之间的25%、50%等的值blog

  

  经过std求每一列的标准差:(能够经过axis来控制轴)

  

  经过标准差,借助any()函数(any函数一真即真,有一个True则返回True)来实现过滤

  例如检测大于两倍标准差的:(这里经过控制轴,来取得每一个同窗而不是每一个科目的过滤值)

  

   顺势,就能够过滤数据了:(经过boolean提取数据,参考:https://www.jianshu.com/p/b1be2eccd029

  

5.排序抽样——take函数

  利用随机生成的顺序,结合take取数据:

  

  使用random.randint能够实现随机抽样的效果

6.数据聚合(重点)

  数据聚合一般是数据处理的最后一步,通常是要使每一个数组产生惟一的值:

  一般分类涉及到的是:分组—>函数处理——>合并

  使用groupby分组:

  

  打印发现是一个GroupBy的对象,使用groups属性,能够查看分红了哪几个组:

    GroupBy对象的更多操做,参考:https://www.jianshu.com/p/42f1d2909bb6

  

  能够经过筛选的方式,快速求出平均值等操做:(返回的是一个Series)

  

  经过merge,能够整合平均值到原df中去:

  

  经过其余列分组,同理:(若是不选择列,则会对全部能操做的列进行操做,返回一个df结果)

  

  多列分组,同理:

  

 7.高级数据聚合

  能够经过transform和apply实现相同功能,而且,apply能够传入一个匿名函数

  apply和map的区别,参考:https://blog.csdn.net/weixin_39791387/article/details/81487549

              https://www.jianshu.com/p/c384ac86c4a6

  

map() 方法是pandas.series.map()方法, 对DF中的元素级别的操做, 能够对df的某列或某多列, 能够参考文档
apply(func) 是DF的属性, 对DF中的行数据或列数据应用func操做.
applymap(func) 也是DF的属性, 对整个DF全部元素应用func操做


————————————————
版权声明:本文为CSDN博主「诸葛老刘」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处连接及本声明。
原文连接:https://blog.csdn.net/weixin_39791387/article/details/81487549

 

  

相关文章
相关标签/搜索