рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

Python Count: рдЖрдзреБрдирд┐рдХ рдкреИрдЯрд░реНрди, рдЖрдо рдЧрд▓рддрд┐рдпрд╛рдБ, рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг

Python рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдХрд╛рдЙрдВрдЯ рдХрд░реЗрдВ, рдбреЗрдЯрд╛ рд╡реИрд▓рд┐рдбреЗрдЯ рдХрд░реЗрдВ, рдФрд░ Counter, count(), рддрдерд╛ pandas рдХреЗ рд╕рд╛рде рдЖрдо рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪреЗрдВ
┬╖ 4 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

рдЪреАрдЬрд╝реЛрдВ рдХреА рдЧрд┐рдирддреА рдЖрд╕рд╛рди рд▓рдЧрддреА рд╣реИ, рдЬрдм рддрдХ рдирддреАрдЬреЗ рдереЛрдбрд╝реЗтАФрдпрд╛ рдХрд╛рдлреАтАФрдЧрд▓рдд рди рджрд┐рдЦреЗрдВред рдореИрдВрдиреЗ рдмрд╛рд░-рдмрд╛рд░ list.count() рдХреЙрд▓реНрд╕ рд╕реЗ рдХреА рдЧрдИ рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдЬрд╛рдБрдЪреЗрдВ рдФрд░ pandas рдХреЗ рдРрд╕реЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЧрд▓рдд рдЙрдкрдпреЛрдЧ рджреЗрдЦрд╛ рд╣реИ рдЬреЛ рдЪреБрдкрдЪрд╛рдк missing values рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рдирддреАрдЬрд╛: рдзреАрдорд╛ рдХреЛрдб рдФрд░ рдЧрд▓рдд рд╕рдВрдЦреНрдпрд╛ред рд╕рдорд╛рдзрд╛рди рд╣реИ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЯреВрд▓ рдЪреБрдирдирд╛: рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдореИрдкреНрд╕ рдХреЗ рд▓рд┐рдП collections.Counter, рдПрдХрд▓ рдорд╛рди рдХреЗ рддреНрд╡рд░рд┐рдд рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдЯ-рдЗрди count(), рдФрд░ DataFrame рдореЗрдВ рд╣реЛрдиреЗ рдкрд░ pandas рдХрд╛ value_counts()ред

Counter рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

collections.Counter рд╣реИрд╢реЗрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдЧрд┐рдирддреА (рдПрдХ рдорд▓реНрдЯреАрд╕реЗрдЯ) рдХреЗ рд▓рд┐рдП рдбрд┐рдХреНрд╢рдирд░реА рдХрд╛ рд╕рдмрдХреНрд▓рд╛рд╕ рд╣реИред рдЖрдк рдХрд┐рд╕реА iterable рдпрд╛ mapping рд╕реЗ Counter рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЧреБрдо рдХреБрдВрдЬрд┐рдпрд╛рдБ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 0 рд▓реМрдЯрд╛рддреА рд╣реИрдВ; рдХрд╛рдЙрдВрдЯ рдмрдврд╝рд╛рдП рдпрд╛ рдШрдЯрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ; рдФрд░ рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдореЗрдердб рдЖрдо рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВред

from collections import Counter

# From an iterable (one pass over the data)
nyc_eatery_types = [
    "Mobile Food Truck", "Food Cart", "Snack Bar", "Restaurant", "Food Cart",
    "Restaurant", "Mobile Food Truck", "Snack Bar", "Mobile Food Truck"
]
eatery_type_counts = Counter(nyc_eatery_types)
print(eatery_type_counts)  # dict-like view
print(eatery_type_counts["Restaurant"])  # missing keys return 0 instead of KeyError
print(eatery_type_counts["Kiosk"])
Counter({'Mobile Food Truck': 3, 'Food Cart': 2, 'Snack Bar': 2, 'Restaurant': 2})
2
0

Counter рдХреЗ iteration рдХреНрд░рдо рдкрд░ рдирд┐рд░реНрднрд░ рди рд░рд╣реЗрдВред рдЬрдм рд░реИрдВрдХрд┐рдВрдЧ рдЪрд╛рд╣рд┐рдП, рддреЛ most_common() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

most_common() рд╕реЗ рд╕рдмрд╕реЗ рдЖрдо рдорд╛рди рдвреВрдБрдвреЗрдВ

Counter.most_common(n) рдШрдЯрддреЗ рдХреНрд░рдо рдореЗрдВ (item, count) рдпреБрдЧреНрдореЛрдВ рдХреА рд╕реВрдЪреА рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП n рджреЗрдВ, рдпрд╛ рд╕рднреА рдпреБрдЧреНрдо рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВред

top_3 = eatery_type_counts.most_common(3)
print(top_3)
[('Mobile Food Truck', 3), ('Food Cart', 2), ('Snack Bar', 2)]

рдЗрд╕реЗ рддрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрдм рдЖрдкрдХреЛ рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕, рд▓реАрдбрд░рдмреЛрд░реНрдбреНрд╕, рдпрд╛ рд╢реНрд░реЗрдгреАрдмрджреНрдз рдбреЗрдЯрд╛ рдкрд░ рддреНрд╡рд░рд┐рдд sanity checks рдЪрд╛рд╣рд┐рдПред

Counter рд╕реЗ рдФрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

update рдФрд░ subtract рд╕реЗ рдХрд╛рдЙрдВрдЯ рдмрджрд▓реЗрдВ

рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдбреЗрдЯрд╛ рдмрджрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред update() рдХрд╛рдЙрдВрдЯ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ subtract() рдЙрдиреНрд╣реЗрдВ рдШрдЯрд╛рддрд╛ рд╣реИред рджреЛрдиреЛрдВ iterable рдпрд╛ mapping рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

new_permits = ["Restaurant", "Food Cart", "Restaurant"]
eatery_type_counts.update(new_permits)  # add 1 for each occurrence
print(eatery_type_counts)

closures = {"Snack Bar": 1}
eatery_type_counts.subtract(closures)   # reduce counts (can go negative)
print(eatery_type_counts)
Counter({'Mobile Food Truck': 3, 'Restaurant': 4, 'Food Cart': 3, 'Snack Bar': 2})
Counter({'Restaurant': 4, 'Mobile Food Truck': 3, 'Food Cart': 3, 'Snack Bar': 1})

рдпрджрд┐ рдХреЛрдИ рдХрд╛рдЙрдВрдЯ 0 рдпрд╛ рдЙрд╕рд╕реЗ рдиреАрдЪреЗ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ elements() рдФрд░ most_common() рдЬреИрд╕реЗ рдореЗрдердб рдЙрд╕реЗ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдХреБрдВрдЬреА рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП del counter[key] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдХреБрд▓ рдЬреЛрдбрд╝реЗрдВ рдФрд░ Top-N рдирд┐рдХрд╛рд▓реЗрдВ

Python 3.10 рд╕реЗ, Counter.total() рд╕рднреА рдХрд╛рдЙрдВрдЯ рдХрд╛ рдпреЛрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЕрдиреБрдкрд╛рдд рдпрд╛ рд╢реЗрдпрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рдпрд╣ рд╕рд╣рд╛рдпрдХ рд╣реИред

total_permits = eatery_type_counts.total()
for eatery, count in eatery_type_counts.most_common(3):
    share = count / total_permits
    print(f"{eatery}: {count} ({share:.1%})")

elements() рд╕реЗ рдХреНрд░рдо рдкреБрдирд░реНрдирд┐рд░реНрдорд┐рдд рдХрд░реЗрдВ

elements() рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рдЙрд╕рдХреЗ рдХрд╛рдЙрдВрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрд╛рд░-рдмрд╛рд░ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдХреНрд░рдо рдордирдорд╛рдирд╛ рд╣реЛрддрд╛ рд╣реИред

expanded = list(eatery_type_counts.elements())
print(len(expanded), "items reconstructed from counts")

рдЧрдгрд┐рдд рдФрд░ рд╕реЗрдЯ-рд╢реИрд▓реА рдХреЗ рдСрдкрд░реЗрд╢рди рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдЖрдк рдХрд╛рдЙрдВрдЯрд░реНрд╕ рдХреЛ рдЕрдВрдХрдЧрдгрд┐рдд рдФрд░ min/max рд╢реИрд▓реА рдХреЗ рдСрдкрд░реЗрд╢рдиреЛрдВ рд╕реЗ рдорд┐рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рд╢реВрдиреНрдп рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдХрд╛рдЙрдВрдЯ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред

from collections import Counter

a = Counter({"Food Cart": 5, "Restaurant": 2})
b = Counter({"Food Cart": 3, "Snack Bar": 4})

print(a + b)   # add counts
print(a - b)   # subtract (keeps positives only)
print(a & b)   # intersection: min of counts
print(a | b)   # union: max of counts
Counter({'Food Cart': 8, 'Snack Bar': 4, 'Restaurant': 2})
Counter({'Food Cart': 2, 'Restaurant': 2})
Counter({'Food Cart': 3})
Counter({'Food Cart': 5, 'Snack Bar': 4, 'Restaurant': 2})

list.count(), Counter, рдпрд╛ pandas рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рд╕реАрдорд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЯреВрд▓ рдЪреБрдиреЗрдВред

рдПрдХрд▓ рдорд╛рди рдХреА рдЬрд╛рдБрдЪ count() рд╕реЗ

рдЬрдм рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛ рдХрд┐ рдХрд┐рд╕реА рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдХреЛрдИ рдПрдХ рдорд╛рди рдХрд┐рддрдиреА рдмрд╛рд░ рдЖрддрд╛ рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЧреИрд░-рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛рдЙрдВрдЯ рдЪрд╛рд╣рд┐рдП, рддреЛ рдмрд┐рд▓реНрдЯ-рдЗрди count() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

numbers = [1, 2, 2, 3, 2]
print(numbers.count(2))  # 3

word = "banana"
print(word.count("a"))   # 3

text = "aaa"
print(text.count("aa"))  # 1: non-overlapping matches only
print("cat".count(""))   # 4: empty string counts len(s)+1 positions

рдмреВрд▓рд┐рдпрди рдФрд░ рдЗрдВрдЯреАрдЬрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ: True == 1 рдФрд░ False == 0ред рдпрджрд┐ рдЖрдк рдкреНрд░рдХрд╛рд░ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдХрд╛рдЙрдВрдЯ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

mixed = [1, True, 0, False, True]
print(mixed.count(1))  # 3 (counts 1 and True)
print(mixed.count(0))  # 2 (counts 0 and False)

рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдкрд░ рд▓реВрдкреНрд╕ рдХреЗ рдЕрдВрджрд░ count() рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ; рд╣рд░ рдХреЙрд▓ рдкреВрд░рд╛ рдЕрдиреБрдХреНрд░рдо рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИред

# Inefficient: O(n^2) for large lists
# freq = {x: numbers.count(x) for x in numbers}

# Efficient: one pass
from collections import Counter
freq = Counter(numbers)

рдХрдИ рдорд╛рдиреЛрдВ рдХреА рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдХреЗ рд▓рд┐рдП Counter

рдЬрдм рдЖрдкрдХреЛ рдХрдИ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдиреЛрдВ рдХреЗ рдХрд╛рдЙрдВрдЯ рдЪрд╛рд╣рд┐рдП, рддреЛ рдПрдХ рдмрд╛рд░ Counter рдмрдирд╛рдПрдБ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ рдХреНрд╡реЗрд░реА рдХрд░реЗрдВред рдпрд╣ рд╕реНрдкрд╖реНрдЯ, рддреЗрдЬрд╝, рдФрд░ рдЗрд╕реА рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реИред

pandas рдХреЗ рд╕рд╛рде рд╕рд╛рд░рдгреАрдмрджреНрдз рдбреЗрдЯрд╛

pandas рдореЗрдВ, DataFrame.count() рдФрд░ Series.count() non-missing рдХрд╛рдЙрдВрдЯ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред рдорд╛рдиреЛрдВ рдХреА рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдЯреЗрдмрд▓ рдХреЗ рд▓рд┐рдП Series.value_counts() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

import pandas as pd
df = pd.DataFrame({
    "line": ["A", "A", "B", None, "B", "B"],
    "ridership": [100, None, 120, 130, None, 150],
})

print(df["line"].count())         # 5 (non-missing)
print(df["line"].value_counts())  # value frequencies

# For full row count, use len(df), not df.count()
print(len(df))                    # 6

Counter рд╕реЗ рдбреЗрдЯрд╛ рд╡реИрд▓рд┐рдбреЗрдЯ рдФрд░ рдХреНрд▓реАрди рдХрд░реЗрдВ

рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╢реНрд░реЗрдгреАрдЧрдд рд╕реНрдерд┐рд░рддрд╛, рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдорд╛рди, рдФрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЬрд╛рдБрдЪрддрд╛ рд╣реВрдБред Counter рдпреЗ рдЬрд╛рдБрдЪреЗрдВ рддреЗрдЬрд╝ рдФрд░ рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

from collections import Counter

# Example: validate allowed categories
allowed_types = {"Mobile Food Truck", "Food Cart", "Snack Bar", "Restaurant"}
type_counts = Counter(nyc_eatery_types)

unexpected = {t: c for t, c in type_counts.items() if t not in allowed_types}
if unexpected:
    print("Unexpected categories found:", unexpected)

# Example: flag duplicates (e.g., station IDs appearing more than once)
station_ids = ["ST-001", "ST-002", "ST-003", "ST-002", "ST-004", "ST-002"]
dup_counts = Counter(station_ids)
duplicates = [sid for sid, c in dup_counts.items() if c > 1]
print("Duplicate station IDs:", duplicates)

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдиреЛрдЯреНрд╕ рдФрд░ рдЖрдо рдЧрд▓рддрд┐рдпрд╛рдБ

рдпреЗ рдмрд┐рдВрджреБ рд╕рдордп рдмрдЪрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕реВрдХреНрд╖реНрдо рдмрдЧреНрд╕ рд╕реЗ рдмрдЪрд╛рддреЗ рд╣реИрдВред

  • Counter рдбрд┐рдХреНрд╢рдирд░реА рдЬреИрд╕рд╛ рд╣реИ: рдЧреБрдо рдХреБрдВрдЬрд┐рдпрд╛рдБ 0 рд▓реМрдЯрд╛рддреА рд╣реИрдВ; рдПрдВрдЯреНрд░реА рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП del counter[key] рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЬрдм рддрдХ рдЕрд╕реНрдерд╛рдпреА рдЬрд╝рд░реВрд░рдд рди рд╣реЛ, рд╢реВрдиреНрдп рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВред
  • iteration рдХреНрд░рдо рдкрд░ рдирд┐рд░реНрднрд░ рди рд░рд╣реЗрдВред рд░реИрдВрдХреНрдб рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП most_common() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  • str.count() рдЧреИрд░-рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдореИрдЪ рдЧрд┐рдирддрд╛ рд╣реИред рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛рдЙрдВрдЯ рдХреЗ рд▓рд┐рдП re.finditer() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  • рдПрдХ рд╣реА рдмрдбрд╝реЗ рдЕрдиреБрдХреНрд░рдо рдкрд░ рдмрд╛рд░-рдмрд╛рд░ list.count() рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ Counter рдмрдирд╛рдПрдБред
  • pandas рдореЗрдВ, .count() non-missing рдХрд╛рдЙрдВрдЯ рдХреЗ рд▓рд┐рдП рд╣реИ; рдорд╛рдиреЛрдВ рдХреА рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдХреЗ рд▓рд┐рдП .value_counts() рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рд╡реЗ рдиреНрдпреВрдирддрдо рдкреИрдЯрд░реНрди рдЬрд┐рди рдкрд░ рдореИрдВ рднрд░реЛрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдБ

рдпреЗ рд╡реЗ рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдкреНрд░реЛрдбрдХреНрд╢рди рдФрд░ рд╢рд┐рдХреНрд╖рдг рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдБред

  • рдПрдХ-рдкрд╛рд╕ рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдореИрдк: Counter(iterable)
  • рдЯреЙрдк-N рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ: Counter(data).most_common(n)
  • рдЗрдиреНрдХреНрд░реАрдореЗрдВрдЯрд▓ рдЕрдкрдбреЗрдЯреНрд╕: counter.update(batch) рдпрд╛ counter.subtract(batch)
  • рдПрдХрд▓ рдорд╛рди рдХреА рдЬрд╛рдБрдЪ: sequence.count(x) (рд▓реВрдкреНрд╕ рдореЗрдВ рди рдХрд░реЗрдВ)
  • рд╕рд╛рд░рдгреАрдмрджреНрдз рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА: df["col"].value_counts() (df.count() рдирд╣реАрдВ)

рдирд┐рд╖реНрдХрд░реНрд╖

collections.Counter рдХрдИ рдорд╛рдиреЛрдВ рдХреА рдЧрд┐рдирддреА рддреЗрдЬрд╝реА рдФрд░ рд╕реНрдкрд╖реНрдЯрддрд╛ рд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рдЯреВрд▓ рд╣реИред рдПрдХрдореБрд╢реНрдд рдЬрд╛рдБрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдЯ-рдЗрди count(), рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдореИрдкреНрд╕ рдФрд░ рдЯреЙрдк-N рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП Counter, рдФрд░ pandas рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп Series.value_counts() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╕реНрдЯреНрд░рд┐рдВрдЧ-рдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЛрдВ, рдмреВрд▓рд┐рдпрдитАУрдЗрдВрдЯреАрдЬрд╝рд░ рд╕рдордХрдХреНрд╖рддрд╛, рдФрд░ non-missing рдХрд╛рдЙрдВрдЯ рддрдерд╛ рдорд╛рдиреЛрдВ рдХреА рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдХреЗ рдЕрдВрддрд░ рдкрд░ рдзреНрдпрд╛рди рд░рдЦреЗрдВред рдЗрди рдкреИрдЯрд░реНрдиреНрд╕ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреА рдЧрд┐рдирддрд┐рдпрд╛рдБ рддреЗрдЬрд╝ рднреА рд╣реЛрдВрдЧреА рдФрд░ рд╕рд╣реА рднреАред

рд╡рд┐рд╖рдп