Python 对数据的去重处理以及数据统计
2021-10-19 15:37:27
浏览数 (7492)
当前,Python 语言在大数据领域可以说非常的热门,这是因为 Python 简洁、易学、拥有丰富的标准库和第三方库。在当今这个数据社会,尤其是做计算机行业的,少不了要和数据打交道。今天就和大家分享一些关于 Python 数据的简单应用,如何对重复的数据进行去重处理以及对处理后的数据进行统计。
一、去重操作
去重操作在处理数据的过程中是少不了的。例如:我们想知道一个班上有多少个人担任了班级职位,但有可能有的人身兼多职,这时候就需要对数据进行去重。下面以简单地数字列表为例,和大家介绍三种简单地去重操作:
(1)循环去重
array = [1,2,3,3,2,3,4,2,4,3,1,2,6,3,3,2,4,2,3,4,6,2,3,6,4,7,5,4,3,5,6,7,9,5,4,6,8,9,5,4,5,3,6,7,8,5,4,6,8,4,5,6,7]
new_array = []
for i in array:
if i in new_array:
continue
else:
new_array.append(i)
print(new_array)
输出结果:
(2)集合特性set()
array = [1,2,3,3,2,3,4,2,4,3,1,2,6,3,3,2,4,2,3,4,6,2,3,6,4,7,5,4,3,5,6,7,9,5,4,6,8,9,5,4,5,3,6,7,8,5,4,6,8,4,5,6,7]
new_array = list(set(array))
print(new_array)
输出结果:
(3)使用keys()方式.
array = [1,2,3,3,2,3,4,2,4,3,1,2,6,3,3,2,4,2,3,4,6,2,3,6,4,7,5,4,3,5,6,7,9,5,4,6,8,9,5,4,5,3,6,7,8,5,4,6,8,4,5,6,7]
new_array = list({}.fromkeys(array).keys())
print(new_array)
输出结果:
比较以上三种去重方式:
(1)循环,显然就比较繁琐,而且结果不会自动排序。
(2)set()方法,需要对集合有一定的了解,结果是会自动排序的。
(3)keys()方法,需要对字典有一定的了解,虽然比循环简短许多,但是和循环一样,结果不会进行自动排序。
二、统计操作
第一种方法非常简单,这也是因为这个数组比较简单,可以直接使用len(array)
取列表的长度即可。
不过我建议使用的是第二种方法,使用 pandas 库。
注:说一句废话,如果您对 Python 大数据有很深的兴趣,那么学习 pandas 库是非常有必要的。
import pandas as pd
array = [1,2,3,3,2,3,4,2,4,3,1,2,6,3,3,2,4,2,3,4,6,2,3,6,4,7,5,4,3,5,6,7,9,5,4,6,8,9,5,4,5,3,6,7,8,5,4,6,8,4,5,6,7]
sr = pd.Series(array)
print(sr.head())
print(sr.count())
print(sr.value_counts())
print(sr.value_counts().count())
输出:
head()
方法是只打印列表中的前5行,如果你想要打印多一点,你可以传入参数。例如,你想打印20行,只需要传入20即可,head(20)
.
count()
方法是对列表进行统计。从打印结果可以看到,这个数组一共有 53 个数值。
value_counts()
方法是对列表进行去重,然后重新返回一个新的列表,同时默认按照从多到少排序。再用count()
方法就可以知道去重后的数值一共 9 个。
三、总结
以上就是关于使用 Python 对数字数组的去重以及统计的内容。