RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
python文本去重函数 字符串去重Python

Python 去重,统计,lambda函数

df.drop_duplicates('item_name')

创新互联公司专注于企业全网整合营销推广、网站重做改版、卡若网站定制设计、自适应品牌网站建设、html5商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为卡若等各大城市提供网站开发制作服务。

方法一:

df.drop_duplicates('item_name').count()

方法二:

df['item_name'].nunique()

结果:50

附:nunique()和unique()的区别:

unique()是以 数组形式(numpy.ndarray)返回列的所有唯一值(特征的所有唯一值)

nunique()即返回的是唯一值的个数

比如:df['item_name'].unique()

要求:将下表中经验列将按周统计的转换为经验不限,保留学历

df1['经验'] = df1['经验'].apply(lambda x: '经验不限'+ x[-2:] if '周' in x else x)

#解释:将‘5天/周6个月’变成‘经验不限’,然后保留学历‘本科’

方法二:定义函数

def dataInterval(ss):

if '周' in ss:

    return '经验不限'+ ss[-2:]

return ss

df1['经验'] = df1['经验'].apply(dataInterval)

python多个文本组合后去除重复项

最简单的是,定义一个list(list可以装的元素数量应该是可以满足需求的,如果数据确实太高,考虑文件数量分组进行)

然后将所有文件的内容逐行读到这个list中,用list自带的去重方法listname=list(set(listname)),进行去重。

最后将整个List写入到d.txt中就可以了

Python常用的几种去重方法

case1:用集合的特性set(),去重后顺序会改变

case1.1:可以通过列表中索引(index)的方法保证去重后的顺序不变

case2:使用循环查找的方式,不改变顺序

case3:通过删除索引

case4:itertools.groupby

case5:fromkeys

case6:reduce方法

python用drop_duplicates()函数保留数据集的重复行

前两天处理数据的时候,需要得到两个数据的交集数据,所以要去除数据中非重复部分,只保留数据中的重复部分。

   网上看了一下大家的教程,大部分都是教去除重复行,很少有说到仅保留重复行的。所以在这里用drop_duplicates这个去重函数来实现这个功能。

drop_duplicates函数介绍 :

data.drop_duplicates(subset=[‘A’,‘B’],keep=‘first’,inplace=True)

#subset对应的值是列名,表示只考虑这两列,将这两列对应值相同的行进行去重。

默认值为subset=None表示考虑所有列。

keep='first’表示保留第一次出现的重复行,是默认值。

keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。

inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。

要用函数取得数据集data中的重复列,分三个步骤 :

(提前导入pandas模块)

data0_1 = data.drop_duplicates() #保留第一个重复行

data0_2 = data.drop_duplicates(keep=False) #去除所有重复行

data0_3=pd.concat([data0_1,data0_2]).drop_duplicates(keep=False)

#合并起来再去重,只剩下真的重复行。

举例:data中wangwu行和tony行重复,需要把它们两行取出。

第一步:#保留第一个重复行

第二步:#去除所有重复行

第三步:#合并起来再去重

通过以上步骤实现取出数据中的重复行。

python去重(汉字一样,里面的编码不一样)?

这是一个字符串的全角和半角的问题,可以导入 unicodedata 中的 normalize 函数先把全角转换为半角,然后再用 set 对列表去重,参考代码如下:

from unicodedata import normalize

list3=['热菜','凉菜','凉菜','硬菜']

set(map(lambda s: normalize('NFKC', s), list3))

输出:

{'硬菜', '热菜', '凉菜'}

扩展:

“ NFKC”代表“Normalization Form KC [Compatibility Decomposition, followed by Canonical Composition]”,并将全角字符替换为半角字符,这些半角字符与Unicode等价。

急求:如何用python删除文本中的重复行?

1.如果你的txt 文件不大的话 可以直接 

tmp = open('**.txt').readlines() #把内容一次性全部读取出来 是一个列表

set(tmp) #这个就是把列表 去重复 

然后 你可以把 这个去重后的tmp 写入到新的文件

2.txt很大,那么只能一行一行的读取去重了

#!/usr/bin/env python

# coding=utf-8

# python 2.7

outfile = open('result-readline.txt', 'w') #新的文件

list_1=[]

for line in open('test.txt'):  #老文件

tmp = line.strip()

if tmp not in list_1:

list_1.append(tmp)

outfile.write(line)

outfile.close()


分享名称:python文本去重函数 字符串去重Python
文章地址:http://lswzjz.com/article/doosodj.html