Python中的Counter是一个非常有用的工具,用于计算可迭代对象中每个元素的出现次数。Counter可以用于过滤和约分原始数据,本文将详细讲解这两种情况的具体操作方法。
一、Python Counter过滤原始数据
使用Counter进行过滤原始数据的步骤如下:
- 导入Counter库
python
from collections import Counter
- 定义原始数据
python
data = [1, 2, 1, 1, 3, 4, 5, 4]
- 使用Counter计算每个元素出现的次数
python
counter = Counter(data)
- 根据条件过滤数据
python
filtered_data = [key for key, value in counter.items() if value > 1]
完整的代码示例如下:
from collections import Counter
data = [1, 2, 1, 1, 3, 4, 5, 4]
counter = Counter(data)
filtered_data = [key for key, value in counter.items() if value > 1]
print(filtered_data)
运行结果为:[1, 4]
以上代码中,使用Counter库计算了原始数据中每个元素出现的次数,然后根据条件过滤掉了出现次数小于等于1的元素,只保留出现次数大于1的元素。
二、Python Counter约分原始数据
使用Counter进行约分原始数据的步骤如下:
- 导入Counter库
python
from collections import Counter
- 定义原始数据
python
data = ['A', 'B', 'A', 'A', 'B', 'C', 'D']
- 使用Counter计算每个元素出现的次数
python
counter = Counter(data)
- 计算每个元素出现次数的和
python
total = sum(counter.values())
- 计算每个元素的比例
python
for key in counter:
counter[key] /= total
完整的代码示例如下:
from collections import Counter
data = ['A', 'B', 'A', 'A', 'B', 'C', 'D']
counter = Counter(data)
total = sum(counter.values())
for key in counter:
counter[key] /= total
print(counter)
运行结果为:Counter({'A': 0.42857142857142855, 'B': 0.2857142857142857, 'C': 0.14285714285714285, 'D': 0.14285714285714285})
以上代码中,使用Counter库计算了原始数据中每个元素出现的次数,然后计算了每个元素出现次数的和,并计算了每个元素的比例,最终得到了约分后的结果。
另外一个示例代码:
from collections import Counter
data = ['red', 'blue', 'red', 'green', 'red', 'orange', 'orange']
counter = Counter(data)
total = sum(counter.values())
for key in counter:
counter[key] /= total
print(counter)
运行结果为:Counter({'red': 0.42857142857142855, 'orange': 0.2857142857142857, 'blue': 0.14285714285714285, 'green': 0.14285714285714285})
以上代码中,按照步骤进行操作,最终得到了每个元素约分后的比例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python Counter过滤和约分原始数据 - Python技术站