PYTHON
Count Item Frequencies and Find Most Common Elements with Python `collections.Counter`
Leverage Python's `collections.Counter` to quickly and easily count the occurrences of hashable objects in lists, strings, or other iterables, ideal for data analysis, generating tag clouds, or summarizing web logs.
from collections import Counter
# Count character frequencies in a string
text_data = "hello world"
char_counts = Counter(text_data)
# Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
# Count word frequencies in a list
words = ["apple", "banana", "apple", "orange", "banana", "apple"]
word_counts = Counter(words)
# Counter({'apple': 3, 'banana': 2, 'orange': 1})
# Get the most common elements
most_common_words = word_counts.most_common(2) # Get top 2
# [('apple', 3), ('banana', 2)]
# Perform arithmetic operations with Counters (e.g., combining counts)
counter1 = Counter({'a': 3, 'b': 1})
counter2 = Counter({'a': 1, 'c': 2})
combined_counter = counter1 + counter2
# Counter({'a': 4, 'b': 1, 'c': 2})
How it works: The `collections.Counter` is a subclass of `dict` designed for counting hashable objects. It's incredibly useful for tallying item frequencies in any iterable, such as counting words in a document, analyzing character distribution, or tracking user actions. It provides convenient methods like `most_common()` to quickly retrieve the top N frequent items and supports arithmetic operations for combining or subtracting counts, simplifying many data aggregation tasks.