• pandas去重方法


    原文链接:https://blog.csdn.net/missyougoon/article/details/83926840

    数据去重可以使用duplicated()和drop_duplicates()两个方法。

    DataFrame.duplicated(subset = None,keep =‘first’ )返回boolean Series表示重复行
    参数:
    subset:列标签或标签序列,可选
    仅考虑用于标识重复项的某些列,默认情况下使用所有列
    keep:{‘first’,‘last’,False},默认’first’

    • first:标记重复,True除了第一次出现。
    • last:标记重复,True除了最后一次出现。
    • 错误:将所有重复项标记为True。
    import numpy as np
    import pandas as pd
    from pandas import Series, DataFrame
    
    df = pd.read_csv('./demo_duplicate.csv')
    print(df)
    print(df['Seqno'].unique()) # [0. 1.]
    
    # 使用duplicated 查看 重复值
    # 参数 keep 可以标记重复值 {'first','last',False}
    print(df['Seqno'].duplicated())
    '''
    0    False
    1     True
    2     True
    3     True
    4    False
    Name: Seqno, dtype: bool
    '''
    
    # 删除 series 重复数据
    print(df['Seqno'].drop_duplicates())
    '''
    0    0.0
    4    1.0
    Name: Seqno, dtype: float64
    '''
    
    # 删除 dataframe 重复数据
    print(df.drop_duplicates(['Seqno'])) # 按照 Seqno 来 去重
    '''
        Price  Seqno Symbol        time
    0  1623.0    0.0   APPL  1473411962
    4  1649.0    1.0   APPL  1473411963
    '''
    # drop_dujplicates() 第二个参数 keep 包含的值 有: first、last、False
    print(df.drop_duplicates(['Seqno'], keep='last')) # 保存最后一个
    '''
        Price  Seqno Symbol        time
    3  1623.0    0.0   APPL  1473411963
    4  1649.0    1.0   APPL  1473411963
    '''

    demo_duplicate.csv文件下载地址:
    https://download.csdn.net/download/missyougoon/11174804

  • 相关阅读:
    ASP.NET常用的三十三种代码
    asp.net获取IP地址
    Inside Microsoft Sql Server 2005 TSQL Programming 学习笔记
    动态SQL与SQL注入(一)动态SQL
    (二)SQL 注入
    WCF 安全
    C# 运算符重载和 implicit关键字
    分页那回事
    thinking
    Moss css
  • 原文地址:https://www.cnblogs.com/leoych/p/12464492.html
Copyright © 2020-2023  润新知