zoukankan      html  css  js  c++  java
  • pandas(九)数据转换

    移除重复数据

    dataframe中常常会出现重复行,DataFrame对象的duplicated方法返回一个布尔型的Series对象,可以表示各行是否是重复行。还有一个drop_duplicates方法,用于返回一个移除了重复行的DataFrame。

    In [36]: data = DataFrame({'k1':['one']*3+['two']*4,"k2":[1,1,2,3,3,4,4]})
    
    In [37]: data
    Out[37]:
        k1  k2
    0  one   1
    1  one   1
    2  one   2
    3  two   3
    4  two   3
    5  two   4
    6  two   4
    #duplicated方法用于判断是否重复行,返回的是一个Series对象
    In [39]: data.duplicated()
    Out[39]:
    0    False
    1     True
    2    False
    3    False
    4     True
    5    False
    6     True
    dtype: bool
    
    #drop_duplicates,剔除重复行,默认检查的是所有列的集合。
    
    In [41]: data.drop_duplicates()
    Out[41]:
        k1  k2
    0  one   1
    2  one   2
    3  two   3
    5  two   4
    #指定部分列进行重复判断和删除
    In [42]: data.duplicated('k1')
    Out[42]:
    0    False
    1     True
    2     True
    3    False
    4     True
    5     True
    6     True
    dtype: bool
    
    In [43]: data.drop_duplicates('k2')
    Out[43]:
        k1  k2
    0  one   1
    2  one   2
    3  two   3
    5  two   4

    是否已经发现,duplicated和drop_duplicates默认保留的都是第一个出现的值组合,传入keep=‘last’,则保留最后一个出现的值。

    keep的选项:

    ‘first’:默认保留第一个出现的值。

    ‘last’:保留最后一个出现的值

    False:使所有的duplicates为True

    In [49]: data.drop_duplicates(keep = 'last')
    Out[49]:
        k1  k2
    1  one   1
    2  one   2
    4  two   3
    6  two   4
    
    In [50]: data.drop_duplicates(keep = False)
    Out[50]:
        k1  k2
    2  one   2

    利用函数或映射进行数据转换

  • 相关阅读:
    写诊股广告页面遇到的问题
    移动端web页面滚动不流畅,卡顿闪烁解决方案
    用JS和JQ来获取子节点!
    CSS样式表的写作规范
    常用css3
    移动端引用echarts的折线图
    JS----获取DOM元素的方法(8种)
    随机对决
    字体
    Echarts个性化图表的样式--绘制南丁格尔图
  • 原文地址:https://www.cnblogs.com/zuoshoushizi/p/8855197.html
Copyright © 2011-2022 走看看