Trong thống kê, tần suất tuyệt đối = số lần xuất hiện. Tần suất tương đối = tần suất tuyệt đối / tổng quan sát (thường biểu diễn % hoặc tỷ lệ).
Dữ liệu mẫu
import pandas as pd data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"]
Cách 1: value_counts() - Tần suất tuyệt đối
abs_freq = pd.Series(data).value_counts()
print("Tần suất tuyệt đối:")
print(abs_freq)
Kết quả
Pune 3 Chandigarh 2 Hyderabad 1 dtype: int64
Cách 2: crosstab() - Bảng chéo
df = pd.DataFrame(data, columns=["City"]) tab = pd.crosstab(index=df["City"], columns=["count"]) print(tab)
Kết quả
col_0 count City Chandigarh 2 Hyderabad 1 Pune 3
Tần suất tương đối (Relative Frequency)
rel_freq = abs_freq / len(data)
print("Tần suất tương đối:")
print(rel_freq)
# Dạng phần trăm
print("\nPhần trăm:")
print((rel_freq * 100).round(2).astype(str) + "%")
Kết quả
Tần suất tương đối: Pune 0.500000 Chandigarh 0.333333 Hyderabad 0.166667 dtype: float64 Phần trăm: Pune 50.0% Chandigarh 33.33% Hyderabad 16.67%
Kết luận
Dùng value_counts() cho tần suất tuyệt đối, chia cho len(data) cho tương đối. crosstab() hữu ích khi phân tích đa biến.