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

Python Pandas - Trả về tần suất tương đối từ Index

Để trả về tần suất tương đối (relative frequency) của các giá trị trong Index, hãy sử dụng index.value_counts() với tham số normalize=True.

Các bước thực hiện

1. Import thư viện cần thiết

import pandas as pd

2. Tạo Index

index = pd.Index([50, 10, 70, 110, 90, 50, 110, 90, 30])

3. Hiển thị Index

print("Pandas Index...\n", index)

4. Lấy tần suất tương đối

print("\nTần suất tương đối (chia cho tổng)...\n", index.value_counts(normalize=True))

Ví dụ hoàn chỉnh

import pandas as pd

# Tạo Index
index = pd.Index([50, 10, 70, 110, 90, 50, 110, 90, 30])

# Hiển thị Index
print("Pandas Index...\n", index)

# Số lượng phần tử
print("\nSố phần tử (size)...\n", index.size)

# Kiểu dữ liệu
print("\nKiểu dữ liệu (dtype)...\n", index.dtype)

# Tần suất tương đối (normalize=True)
print("\nTần suất tương đối (chia cho tổng)...\n", index.value_counts(normalize=True))

Kết quả đầu ra

Pandas Index...
Int64Index([50, 10, 70, 110, 90, 50, 110, 90, 30], dtype='int64')
Số phần tử (size)...
9
Kiểu dữ liệu (dtype)...
int64
Tần suất tương đối (chia cho tổng)...
50     0.222222
110    0.222222
90     0.222222
10     0.111111
70     0.111111
30     0.111111
dtype: float64

Giải thích: normalize=True chia mỗi count cho tổng số phần tử (9). 50, 110, 90 xuất hiện 2 lần → 2/9 ≈ 0.222. 10, 70, 30 xuất hiện 1 lần → 1/9 ≈ 0.111. Tổng tần suất = 1.0. Kết quả dtype=float64.