Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Tần suất tích lũy hàng (Cumulative Row Frequencies)

Khi cần tính tần suất tích lũy của các từ cho trước trong từng hàng, ta dùng Counter và list comprehension.

Ví dụ

from collections import Counter

my_list = [[11, 2, 32, 4, 31], [52, 52, 3, 71, 71, 3], [1, 3], [19, 19, 40, 40, 40]]
print("Danh sách là:")
print(my_list)

my_element_list = [19, 2, 71]
my_frequency = [Counter(element) for element in my_list]
my_result = [sum([freq[word] for word in my_element_list if word in freq]) for freq in my_frequency]

print("Ma trận kết quả (tần suất tích lũy):")
print(my_result)

Kết quả đầu ra

Danh sách là:
[[11, 2, 32, 4, 31], [52, 52, 3, 71, 71, 3], [1, 3], [19, 19, 40, 40, 40]]
Ma trận kết quả (tần suất tích lũy):
[1, 2, 0, 2]

Giải thích

  • my_element_list: các từ cần đếm (19, 2, 71).
  • my_frequency: list Counter cho mỗi hàng.
  • Hàng 0: có 2 (1 lần) → tổng 1.
  • Hàng 1: có 71 (2 lần) → tổng 2.
  • Hàng 2: không có 19,2,71 → tổng 0.
  • Hàng 3: có 19 (2 lần) → tổng 2.