精华内容
下载资源
问答
  • df.drop_duplicates() DataFrame.drop_duplicates(self, subset=None, keep=‘first’, inplace=False) 参数: subset : column label or sequence of labels, optional Only consider certain columns for ...
    • df.drop_duplicates()
      DataFrame.drop_duplicates(self, subset=None, keep=‘first’, inplace=False)

    参数:
    subset : column label or sequence of labels, optional
    Only consider certain columns for identifying duplicates, by default use all of the columns
    keep : {‘first’, ‘last’, False}, default ‘first’
    first : Drop duplicates except for the first occurrence.
    last : Drop duplicates except for the last occurrence.
    False : Drop all duplicates.
    inplace : boolean, default False
    Whether to drop duplicates in place or to return a copy
    返回: DataFrame

    • df.duplicated()参数
      DataFrame.duplicated(self, subset=None, keep=‘first’)[source]

    参数:
    subset : column label or sequence of labels, optional
    Only consider certain columns for identifying duplicates, by default use all of the columns
    keep : {‘first’, ‘last’, False}, default ‘first’
    first : Mark duplicates as True except for the first occurrence.
    last : Mark duplicates as True except for the last occurrence.
    False : Mark all duplicates as True.
    返回值: Series

    import  pandas as pd
    import numpy as np
    import random
    np.set_printoptions(precision=3, suppress=True)
    np.set_printoptions(formatter={'float': '{: 0.3f}'.format})
    pd.set_option('precision', 5) #设置精度
    pd.set_option('display.float_format', lambda x: '%.0f' % x) #为了直观的显示数字,不采用科学计数法
    
    '''
    drop_repeat_infor:删除完全相同的字段repeat_infor的数据条目,区分大小写
    df_data_origin为原始数据(dateframe),repeat_infor是目标字段名称(str)
    '''
    def drop_repeat_infor(df_data_origin,repeat_infor):
        df_drop_repeat_infor = df_data_origin.drop_duplicates([repeat_infor])
        return df_drop_repeat_infor 
    
    '''
    get_case_insensentive_repeat_infor:不区分字段repeat_infor大小写,找出重复字段repeat_infor的数据
    保留所有重复值,duplicated(subset=[repeat_infor],keep = False)
    保留一条重复值,duplicated(subset=[repeat_infor],keep = 'first')
    '''
    def get_case_insensentive_repeat_infor(df_data,repeat_infor,ref_infor):
        #去重
        df_drop_repeat_infor = df_data.drop_duplicates(subset=[repeat_infor])
        #字段repeat_infor改为小写
    #     ref_infor_lower = repeat_infor+'_lower'
        df_drop_repeat_infor_lower = pd.DataFrame(columns = [repeat_infor])
        df_drop_repeat_infor_lower[repeat_infor] = df_drop_repeat_infor[repeat_infor].astype(str).str.lower()
        #查找去重后,不区分大小写的所有重复值
        df_repeat_infor_lower = df_drop_repeat_infor[df_drop_repeat_infor_lower.duplicated(subset=[repeat_infor],keep = False)]
    
        return df_repeat_infor_lower
        
    '''
    def get_similar_infor_data:找出参考字段(ref_infor)相同,关心字段(repeat_infor)不同的数据条目
    df_data数据(dateframe)
    '''
    def get_similar_infor_data(df_data,repeat_infor,ref_infor):
        #去重
        df_drop_repeat_infor = df_data.drop_duplicates([repeat_infor])
        #按照参考字段统计关心字段条目数
        df_counts = df_drop_repeat_infor.groupby([ref_infor]).size().reset_index(name='counts')
        #选择counts>1的条目
        df_similar_infor_data = df_counts[df_counts['counts']>1]
        return df_similar_infor_data
    
    
    #导入数据
    TFS_data_origin = pd.read_csv("data_input/TFS_需求清单项目名称.csv",encoding = 'gbk')
    
    #完全相同的项目名称去重
    TFS_drop_repeat_infor_temp = pd.DataFrame(columns=['project_code','project_name'])
    TFS_drop_repeat_infor_temp = drop_repeat_infor(TFS_data_origin,'project_name')
    #排序
    TFS_drop_repeat_infor = TFS_drop_repeat_infor_temp.sort_values('project_name',ascending=True,na_position='first')#na_position='last' NaN放在最后
    
    
    #针对去重的项目名称,不区分大小写,找出重复的项目名称的数据
    TFS_drop_repeat_infor_lower = pd.DataFrame(columns=['project_name_lower'])
    TFS_drop_repeat_infor_lower = get_case_insensentive_repeat_infor(TFS_data_origin,'project_name','project_code')
    print(TFS_drop_repeat_infor_lower)
    
    
    #查找相同项目id不同项目名称的数据
    TFS_get_similar_infor_data = get_similar_infor_data(TFS_data_origin,'project_name','project_code')
    #获取项目名称和id
    list_temp = TFS_get_similar_infor_data['project_code'].astype(str).tolist()
    str_similar_id = ','.join(list_temp)
    TFS_similar_name = TFS_drop_repeat_infor[TFS_drop_repeat_infor['project_code'].apply(lambda x:str(x) in (str_similar_id))]
    print(TFS_similar_name)
    

    参考文档
    参考文档
    参考文档

    展开全文
  • 直接使用df.drop_duplicates()就可以获取去重复完毕的DataFrame了 df.drop_duplicates(inplace=True) 参考别人的经验:https://blog.csdn.net/qq_24499417/article/details/81126807 ...

    直接使用df.drop_duplicates()就可以获取去重复完毕的DataFrame了

    df.drop_duplicates(inplace=True)

     

    参考别人的经验:https://blog.csdn.net/qq_24499417/article/details/81126807 

     

    展开全文
  • df.drop()

    万次阅读 2019-08-19 16:51:11
    用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False) 参数说明: labels 就是要删除的行列的名字,用列表给定 axis 默认为0,指删除行,因此删除columns时要指定axis=1; index ...

    删除含有指定元素的行或列,或删除指定行,列

    用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)
    参数说明:
    labels 就是要删除的行列的名字,用列表给定
    axis 默认为0,指删除行,因此删除columns时要指定axis=1;
    index 直接指定要删除的行
    columns 直接指定要删除的列
    inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe;
    inplace=True,则会直接在原数据上进行删除操作,删除后无法返回。
    因此,删除行列有两种方式:
    1)labels=None,axis=0 的组合
    2)index或columns直接指定要删除的行或列

    详情见(https://blog.csdn.net/songyunli1111/article/details/79306639)

    展开全文
  • pandas去重神器:df.drop_duplicates()

    千次阅读 2019-04-30 14:31:35
    去重的两种方法:duplicated()和drop_duplicates() DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) 参数: subset是用来指定特定的列,默认为所有列 keep 当keep='first'时,就是保留...

    去重的两种方法:duplicated()和drop_duplicates()

    DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)

    参数:

    subset是用来指定特定的列,默认为所有列

    keep

    当keep='first'时,就是保留第一次出现的重复行,其余删除

    当keep='last'时,就是保留最后一次出现的重复行,其余删除

    当keep=False时,就是删除所有重复行

    inplace是指是否直接在原数据上进行修改,默认为否

    现在需要删除前面5个epoch的结果,保留后面5个的数据

    展开全文
  • 1.loc函数、iloc函数 ...df = pd.DataFrame(np.arange(20).reshape(5,4),index=list('abcde'),columns=['A', 'B', 'C', 'D']) ######### 提取行数据############ #取索引为'a'的行 df.loc['a'] # 输出: A 0 B
  • df.apply DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), **kwds) 功能 对行或列使用函数 介绍 第一个参数func代表的是函数,可以理解为C/C++的函数指针。我们可以传入自己定义的函数来实现...
  • df=df.reset_index(drop=True)

    千次阅读 2019-04-18 00:21:00
    df=df.reset_index(drop=True) ============ df = pd.read_csv('./train_file/train.csv').dropna()df_test = df.sample(frac=0.2, random_state=123456)df_train = df.drop(df_test.index) 转载于:...
  • 问题描述:原始数据data总行数是1303638,使用data.drop()后数据总行数是1303638,使用data.na.drop()后数据总行数是0;为啥data.drop()没有丢弃null或nan的数据? 总结: 1)data.drop()如果不传递列名,不会做...
  • df.drop_duplicates? Signature: df.drop_duplicates(subset=None, keep='first', inplace=False) Docstring: Return DataFrame with duplicate rows removed, optionally only considering certain...
  • 问题描述:原始数据data总行数是1303638,使用data.drop()后数据总行数是1303638,使用data.na.drop()后数据总行数是0;为啥data.drop()没有丢弃null或nan的数据? 总结: 1)data.drop()如果不传递列名,不会做...
  • df.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise') labels:指示标签,表示行标或列标; axis = 0:默认取 0,表示删除集合的行; a...
  • DataFrame.drop()-labels not contained in axis

    千次阅读 2018-03-11 20:39:23
    在删除DataFrame对象中的字段时,出现找不到字段的错误,可以在读取csv文件时添加一个参数:skipinitialspace=True 即可。 删除列名为‘a’‘b’的两列数据,有以下两种方式 ...2、 df.drop(['a','b'],axis=1)
  • 转载于:https://www.cnblogs.com/shadow1/p/10261368.html
  • dataframe.drop

    万次阅读 2018-04-14 18:29:55
    pandas.DataFrame.dropDataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')[source]Return new object with labels in requested axis removed....
  • DataFrame.drop_duplicates

    千次阅读 2019-08-20 10:31:27
    DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) subset: 默认使用所有columns, 传入column label or sequence of labels keep: 默认 first first: 保留第一项 last: 保留最后一项 False: ...
  • drop_duplicates(inplace=True)是直接对原dataFrame进行操作。 如: t.drop_duplicates(inplace=True) 则,对t中重复将被去除。   drop_duplicates(inplace=False)将不改变原来的dataFrame,而将结果生成在...
  • https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.drop_duplicates.html#pandas.DataFrame.drop_duplicates ...
  • 首先把官网的用法过一遍 1、DataFrame.any(axis=0, bool_only=None, skipna=True, level=None, **kwargs) Return whether any element is True over requested axis.... df = pd.DataFrame({"A"...
  • 函数pandas.DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index= False)主要用来去除重复项,返回DataFrame类型的数据。 本文记录作者阅读该函数源代码并在自己电脑上测试的过程
  • 使用pandas时,删除具有特定条件的行 pandas 里drop()的使用 pandas 里drop()的使用 drop方法只能删除 列或者行 在删除行的时候,参数不能是对象,而是这一行的序号

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,506
精华内容 19,002
关键字:

df.drop