
python如何不重复的数据有多少条
用户关注问题
如何用Python统计列表中不重复元素的数量?
我有一个包含多个重复元素的列表,想知道如何用Python代码来计算列表中不重复元素的个数。
使用set函数统计不重复元素数量
可以使用Python内置的set函数将列表转换成集合,集合中的元素都是唯一的。然后通过len函数获取集合的长度,就能知道列表中不重复元素的数量。例如:
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_count = len(set(my_list))
print(unique_count) # 输出5
怎样用Python找出数据中不重复的条目有哪些?
除了统计数量,我还想得到这些不重复的数据本身,Python应该怎么操作?
利用set或字典获取唯一元素列表
可以通过将列表转换为集合,得到的集合即为不重复的数据。如果希望结果是列表类型,可以再转回列表:
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_items = list(set(my_list))
print(unique_items) # 输出[1, 2, 3, 4, 5],元素顺序不固定
如果想保持原列表中的顺序,可以用下面方式:
unique_items = []
seen = set()
for item in my_list:
if item not in seen:
unique_items.append(item)
seen.add(item)
print(unique_items)
Python中有无简便函数统计不重复数据条目数量?
想知道有没有Python库函数直接输出数据中不重复元素数量,而不必自己写循环或者转换集合。
使用collections库的Counter或者pandas库的nunique方法
Python标准库的collections模块有Counter类,可以获取所有元素的频次,进而统计不重复元素数目;对于数据分析常用的pandas库,可以直接用nunique方法获取不同值的数量。例如使用pandas:
import pandas as pd
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_count = pd.Series(my_list).nunique()
print(unique_count) # 输出5
使用Counter后取键的数量:
from collections import Counter
my_list = [1, 2, 2, 3, 4, 4, 5]
counter = Counter(my_list)
unique_count = len(counter)
print(unique_count) # 输出5