网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

去重函数python 去重函数 excel

python中对list去重的多种方法

python中对list去重的多种方法

三江侗网站建设公司成都创新互联公司,三江侗网站设计制作,有大型网站制作公司丰富经验。已为三江侗成百上千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的三江侗做网站的公司定做!

今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数。不过这个东西最终还是没用上。

问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变。

直观方法

最简单的思路就是:

这样也可行,但是看起来不够爽。

用set

另外一个解决方案就是用set:

代码如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]

ids = list(set(ids))

这样的结果是没有保持原来的顺序。

按照索引再次排序

最后通过这种方式解决:

代码如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]

news_ids = list(set(ids))

news_ids.sort(ids.index)

使用itertools.grouby

文章一开始就提到itertools.grouby, 如果不考虑列表顺序的话可用这个:

代码如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]

ids.sort()

it = itertools.groupby(ids)

for k, g in it:

print k

关于itertools.groupby的原理可以看这里:

网友补充:用reduce

网友reatlk留言给了另外的解决方案。我补充并解释到这里:

代码如下:

In [5]: ids = [1,4,3,3,4,2,3,4,5,6,1]

In [6]: func = lambda x,y:x if y in x else x + [y]

In [7]: reduce(func, [[], ] + ids)

Out[7]: [1, 4, 3, 2, 5, 6]

上面是我在ipython中运行的代码,其中的 lambda x,y:x if y in x else x + [y] 等价于 lambda x,y: y in x and x or x+[y] 。

Python常用的几种去重方法

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

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

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

case3:通过删除索引

case4:itertools.groupby

case5:fromkeys

case6:reduce方法

Python 去重,统计,lambda函数

df.drop_duplicates('item_name')

方法一:

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 去重函数 excel
本文网址:http://bjjierui.cn/article/hpcejh.html

其他资讯