精华内容
下载资源
问答
  • 主要介绍了python pandas dataframe 去重函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • pandas 数据去重

    2020-07-11 21:07:01
    import pandas as pd # 读取csv格式的数据 df = pd.read_csv("../data/IMDB-Movie-Data.csv") # 统计导演的人数 法1 director_count1 = len(set(df['Director'].tolist())) print(director_count1) # 统计导演的...

    数据源下载 看案例1

    在这里插入图片描述

    # -*- codeing = utf-8 -*-
    import pandas as pd
    
    # 读取csv格式的数据
    df = pd.read_csv("../data/IMDB-Movie-Data.csv")
    # 去重 统计导演的人数 法1
    director_count1 = len(set(df['Director'].tolist()))
    print(director_count1)
    # 去重 统计导演的人数 法2
    director_count2 = len(df['Director'].unique())  # unique()只能用在series上 并且是一维的
    print(director_count2)
    # 去重 获取演员的人数
    actors_list = df['Actors'].str.split(", ").tolist()
    actors_count = len(set(j for i in actors_list for j in i))
    print(actors_count)
    

    数据形式 看案例2

    # -*- codeing = utf-8 -*-
    import pandas as pd
    
    df = pd.read_csv('../data/911.csv')
    temp_list = df['title'].str.split(": ").tolist()
    # 去重 统计报警类别的次数
    category_count = len(set(i[0] for i in temp_list))
    print(category_count)
    
    展开全文
  • Pandas 数据去重

    2020-09-29 15:53:39
    Pandas 数据去重 drop_duplicats()方法去重 对 dataframe 数据去重 示例: df.drop_duplicats(subset = [‘month’,‘day’,‘time’],keep=‘last’,inplace=True) drop_duplicats参数说明: 参数subset subset...

    Pandas 数据去重

    drop_duplicats()方法去重

    1. 对 dataframe 数据去重
      示例:
      df.drop_duplicats(subset = [‘month’,‘day’,‘time’],keep=‘last’,inplace=True)

    drop_duplicats参数说明:
    参数subset
    subset用来指定特定的列,默认所有列
    参数keep
    keep可以为first和last,表示是选择最前一项还是最后一项保留,默认first
    参数inplace
    inplace是直接在原来数据上修改还是保留一个副本,默认为False

    最后 查看结果的时候 需要进行 重新赋值

    展开全文
  • 最近期中考试来啦,所以更新也不是很及时了...数据去重就是去除数据中重复的部分,pandas中主要是通过duplicated来实现 创建Series数据 s = pd.Series([1,1,1,1,2,2,2,3,4,5,5,5,5]) print(s) 输出结果: 判断是...

    最近期中考试来啦,所以更新也不是很及时了,但是没关系,更新可能会迟到,但不会缺席!
    这篇博客写一下数据的去重和替换以及数据分组
    (1)去重—.duplicated
    数据的去重就是去除数据中重复的部分,pandas中主要是通过duplicated来实现

    创建Series数据

    s = pd.Series([1,1,1,1,2,2,2,3,4,5,5,5,5])
    print(s)
    

    输出结果:
    在这里插入图片描述
    判断是否重复,重复的话返回True

    print(s.duplicated())
    

    输出结果:
    在这里插入图片描述
    筛选不重复的值

    print(s[s.duplicated() == False])
    

    输出结果:
    在这里插入图片描述
    我们可以找到重复的值,也可以移除重复的值,通过drop_duplicates( ) 来实现,参数默认为False,不替换原值

    s_re = s.drop_duplicates()
    print(s_re)
    

    输出结果:
    在这里插入图片描述
    再来看一下在Dataframe中使用duplicated

    df = pd.DataFrame({'key1':['a','a',3,4,5],
                      'key2':['a','a','b','b','c']})
    print(df.duplicated())
    print(df['key2'].duplicated())
    

    输出结果:
    在这里插入图片描述
    (2)替换----replace
    我们可以替换数组中的某些值,通过replace来实现
    创建Series数组

    s = pd.Series(list('ascaazsd'))
    print(s)
    

    输出结果:
    在这里插入图片描述
    把‘a’替换成空值

    print(s.replace('a', np.nan))
    

    输出结果:
    在这里插入图片描述
    把‘a’替换成‘hello world!’,把‘s’替换成‘123’

    print(s.replace({'a':'hello world!','s':123}))
    

    输出结果:
    在这里插入图片描述

    展开全文
  • 人的理想志向往往和他的能力成正比。—— 约翰逊 其实整个需求呢,就是题目。2018-08-16 需求的结构图: ...涉及的包有:pandas、numpy ...2、构造DataFrame,里面包含三种数据类型:int、null、str ...

     


    人的理想志向往往和他的能力成正比。 —— 约翰逊


     

    其实整个需求呢,就是题目。2018-08-16

    需求的结构图:

     

    涉及的包有:pandas、numpy

    1、导入包:

    import pandas as pd
    import numpy as np
    View Code

    2、构造DataFrame,里面包含三种数据类型:int、null、str 

    data = {"number":[1,1,np.nan,np.nan,2,2,1,2,2],
            "letter":['a','b',np.nan,np.nan,'c','d','b','c','d'],
            "label":[1,1,9,9,2,2,1,2,2]}
    dataset1 = pd.DataFrame(data) #初始化DataFrame 得到数据集dataset1
    print(dataset1)
    View Code

    3、空值填充

    由于数据集里含有空值,为了能够对后面重复数据进行求和,则需要对空值进行填充

    dataset = dataset1.fillna("NULL")
    print(dataset)
    View Code

    4、利用duplicated()函数和drop_duplicates()函数对数据去重

    首先,利用duplicated()函数按列名'letter'和' number '取重复行,其返回的是bool类型,若为重复行则true,反之为false

    duplicate_row = dataset.duplicated(subset=['letter',' number '],keep=False) 
    print(duplicate_row)
    View Code

    然后通过bool值取出重复行的数据

    duplicate_data = dataset.loc[duplicate_row,:]
    print(duplicate_data)
    View Code

    再然后根据'letter',' number '对重复数据进行分类,在该前提下并对重复数据的’label’进行求和,且重置索引(对后文中的赋值操作有帮助)

    duplicate_data_sum = duplicate_data.groupby(by=['letter',' number ']).agg({' label ':sum}).reset_index(drop=True)
    Print(duplicate_data_sum)
    View Code

    取出重复数据中的一个,例如:1,1,2,2——>1,2

     对drop_duplicates指定列:subset=['letter',' number '],保留第一条重复的数据:keep="first"

    duplicate_data _one= duplicate_data.drop_duplicates(subset=['letter',' number '] ,keep="first").reset_index(drop=True)
    Print(duplicate_data)
    View Code

     

    获取不重复的数据,指定列subset=['letter',' number ',' label '],不保留重复数据:keep=False

    no_duplicate = dataset.drop_duplicates(subset=['letter',' number ',' label '] ,keep=False)
    Print(no_duplicate)
    View Code

    将对重复值的’label’求和,并赋值给“重复值中的一个”,得到新的”新重复值中的一个

    duplicate_data _one ["label"] = duplicate_data_sum ['label']  #前面需要重置索引
    print(duplicate_data_one)
    View Code

    最后,拼接新重复值中的一个”和不重复的数据

    Result = pd.concat([no_duplicate,duplicate_data _one])
    Print(result)
    View Code

     

    5、全体代码:

     

     1 import pandas as pd
     2 import numpy as np
     3 
     4 #构造DataFrame
     5 data = {"number":[1,1,np.nan,np.nan,2,2,1,2,2],
     6         "letter":['a','b',np.nan,np.nan,'c','d','b','c','d'],
     7         "label":[1,1,9,9,2,2,1,2,2]}
     8 dataset1 = pd.DataFrame(data)
     9 
    10 #空值填充
    11 dataset = dataset1.fillna("NULL")
    12 #得到重复行的索引
    13 duplicate_row = dataset.duplicated(subset=['letter','number'],keep=False) 
    14 #得到重复行的数据
    15 duplicate_data = dataset.loc[duplicate_row,:]
    16 #重复行按''label''求和
    17 duplicate_data_sum = duplicate_data.groupby(by=['letter','number']).agg({'label':sum}).reset_index(drop=True)
    18 
    19 #得到唯一的重复数据
    20 duplicate_data_one= duplicate_data.drop_duplicates(subset=[
    21     'letter','number'],keep="first").reset_index(drop=True) 
    22 #获得不重复的数据
    23 no_duplicate = dataset.drop_duplicates(subset=['letter','number','label']
    24                         ,keep=False)
    25 #把重复行按"label"列求和的"label"列赋值给唯一的重复数据的"label"列
    26 duplicate_data_one ["label"] = duplicate_data_sum ['label']
    27 Result = pd.concat([no_duplicate,duplicate_data_one]
    View Code

     

    主要用到几个关键的函数:

    Pandas.concat()

    DataFrame.duplicated()

    DataFrame.drop_duplicates().reset_index(drop=True)

    DataFrame.groupby().agg({})


     

    本人处于学习中,如有写的不够专业或者错误的地方,诚心希望各位读者多多指出!!

     

    转载于:https://www.cnblogs.com/shenpings1314/p/9485798.html

    展开全文
  • 2018-08-16需求的结构图:涉及的包有:pandas、numpy1、导入包:importpandas as pdimport numpy as npView Code2、构造DataFrame,里面包含三种数据类型:int、null、strdata = {"number":[1,1,np.nan,np.nan,2,2,1...
  • DataFrame.drop_duplicates(subset=... keep: 是否保留{‘first’, ‘last’, False},keep= 'first' 表示去重时每组重复数据保留第一条数据,其余数据丢弃; keep='last' 表示去重时每组重复数据保留最后一条...
  • pandas中的数据去重处理

    万次阅读 2018-11-10 10:08:43
    数据去重可以使用duplicated()和drop_duplicates()两个方法。 DataFrame.duplicated(subset = None,keep =‘first’ )返回boolean Series表示重复行 参数: subset:列标签或标签序列,可选 仅考虑用于标识重复...
  • pandas去重重复项

    2021-01-11 18:01:40
    pandas的功能确实强大,只需要一个指令就可以去除重复的数据,如下: data.drop_duplicates('asin', 'first', inplace=True) 其中,asin是列名,此列是需要去除重复行的列,将会根据此列的值来去重。
  • Pandas数据去重

    2021-09-29 11:06:55
    import pandas as pd student_dict = {"name": ["Joe", "Nat", "Harry", "Nat"], "age": [20, 21, 19, 21], "marks": [85.10, 77.80, 91.54, 77.80]} # Create DataFrame from dict student_df = pd
  • 数据分析去重讲解
  • 怎么使用Python中Pandas库Resample,实现重采样,按照时间,比如原采样间隔为100ms,数据为[0,10,20,30,40],那么重采样#python中的pandas库主要有DataFrame和Series类(面向对象的的语言更愿意叫类) DataFrame也就是...
  • list对象去重,利用set方法去重 rawIP['attack_mode_name_cn'].apply(set) 去重后转换回list对象 rawIP['attack_mode_name_cn'].apply(set).apply(list) 去重后转字符串对象 rawIP['attack_mode_name_cn']....
  • import pandas as pd import numpy as np from openpyxl import load_workbook import os import re class doWork: def __init__(self): self.txt_file_dir = "txt_file" self.excel_name1 = r"template.xlsx" #...
  • 数据去重可以使用duplicated()和drop_duplicates()两个方法。DataFrame.duplicated(subset = None,keep =‘first' )返回boolean Series表示重复行参数:subset:列标签或标签序列,可选仅考虑用于标识重复项的某些...
  • pandas去重函数

    2021-03-18 16:13:23
    pandas去重
  • pandas去空 对齐运算 去空 df6=pd.DataFrame([np.random.randint(10,50,4),[1.1,2.2,3.3,],[np.NAN,1,2,3]]) print(df6) 判断单个元素是否为空 ret=df6.isnull() print(ret) print() 和上面的相反 ret2=df6.notnull...
  • 数据校验   分列(默认空格):   求和---求平均   去重:   找出重复数据 旋转表:  

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,740
精华内容 3,096
关键字:

pandas数据去重

友情链接: nnmf_topic_demo.rar