利用集合的不重复属性,可以先转换至集合,再用list()函数转换回来即可。
在碑林等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站建设、成都外贸网站建设 网站设计制作按需设计网站,公司网站建设,企业网站建设,品牌网站设计,成都全网营销推广,外贸网站建设,碑林网站建设费用合理。
比如,a是一个列表,a=list(set(a)),即可完成列表去重。
1. 使用内置函数set
lists = [1,1,2,3,4,6,6,2,2,9]
lists = list(set(lists))
先将列表转换为集合,因为集合是不重复的,故直接删除重复元素,而且输出结果为排序后的
from pandas import read_csv
df = read_csv('D://PDA//4.3//data.csv')
df
#找出行重复的位置
dIndex = df.duplicated()
#根据某些列,找出重复的位置
dIndex = df.duplicated('id')
dIndex = df.duplicated(['id', 'key'])
#根据返回值,把重复数据提取出来
df[dIndex]
id key value
4 1251147 品牌 Apple
5 1251147 商品名称 苹果iPad mini 3
#直接删除重复值
#默认根据所有的列,进行删除
newDF = df.drop_duplicates()
#当然也可以指定某一列,进行重复值处理
newDF = df.drop_duplicates('id')
在Python中主要有5种方式 。
1、使用set函数
set是定义集合的,无序,非重复
numList = [1,1,2,3,4,5,4]
print(list(set(numList)))
#[1, 2, 3, 4, 5]
2、先把list重新排序,然后从list的最后开始扫描
a = [1, 2, 4, 2, 4, 5,]
a.sort()
last = a[-1]
for i in range(len(a) - 2, -1, -1):
if last == a[i]:
del a[i]
else:
last = a[i]
print(a) #[1, 2, 4, 5]
3、使用字典函数
a=[1,2,4,2,4,]
b={}
b=b.fromkeys(a)
c=list(b.keys())
print(c) #[1, 2, 4]
4、append方式
def delList(L):
L1 = []
for i in L:
if i not in L1:
L1.append(i)
return L1
print(delList([1, 2, 2, 3, 3, 4, 5])) #[1, 2, 3, 4, 5]
5、count + remove方式
def delList(L):
for i in L:
if L.count(i) != 1:
for x in range((L.count(i) - 1)):
L.remove(i)
return L
print(delList([1, 2, 2, 3, 3, 4]))#[1, 2, 3, 4]
Duplicated函数功能:查找并显示数据表中的重复值
这里需要注意的是:
drop_duplicates函数功能是:删除数据表中的重复值,判断标准和逻辑与duplicated函数一样
如果你知道他的索引(index)
假设他的索引存在变量a中
列表名为list
list.pop(a)
当然,也可以用remove函数
但是,局限于只能删第一个
比如:
a=[0,1,1,1,2,3,3]
a.remove(1)
print(a)
结果为:
[0, 1, 1, 2, 3, 3]