重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
case1:用集合的特性set(),去重后顺序会改变
创新互联是专业的卫东网站建设公司,卫东接单;提供成都网站制作、成都网站建设、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行卫东网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
case1.1:可以通过列表中索引(index)的方法保证去重后的顺序不变
case2:使用循环查找的方式,不改变顺序
case3:通过删除索引
case4:itertools.groupby
case5:fromkeys
case6:reduce方法
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)
如:arr =['a','d','e','a']
用: arr= sorted(set(arr), key=arr.index)
同: arr = list(set(arr))
arr.sort(key=arr.index)
⚠️直接set(arr)也可以去除重复元素,只是新数组的顺序就不是原来的顺序了。
如:arr=[{'text':wuyuan,'value':1},{'text':默认,'value':2},{'text':默认,'value':2},
{'text':wyy,'value':4}]
用: f = lambda x,y:x if y in x else x + [y]
arr = reduce(f, [[], ] + arr)
⚠️这里去除的字典里面的键值对必须是完全一样的。
利用集合的不重复属性,可以先转换至集合,再用list()函数转换回来即可。
比如,a是一个列表,a=list(set(a)),即可完成列表去重。
1、运用新建字典的方式,去除重复的键
2、利用集合,直接将列表转化为集合,自动去重后转回列表。有一个问题,转换为集合的同时,数据无序了。
3、用列表的推导式