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

Python Pandas - Đếm giá trị duy nhất trong Index bao gồm NaN

Để trả về Series chứa số lượng các giá trị duy nhất trong Index, bao gồm cả NaN, hãy dùng index.value_counts() với tham số dropna=False.

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

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

import pandas as pd
import numpy as np

2. Tạo Index có chứa NaN

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

3. Hiển thị Index

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

4. Đếm giá trị duy nhất bao gồm NaN

print("\nĐếm giá trị duy nhất có NaN...\n", index.value_counts(dropna=False))

Ví dụ hoàn chỉnh

import pandas as pd
import numpy as np

# Tạo Index có NaN
index = pd.Index([50, 10, 70, np.nan, 90, 50, np.nan, np.nan, 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)

# Đếm giá trị duy nhất, bao gồm NaN (dropna=False)
print("\nĐếm giá trị duy nhất có NaN...\n", index.value_counts(dropna=False))

Kết quả đầu ra

Pandas Index...
Float64Index([50.0, 10.0, 70.0, nan, 90.0, 50.0, nan, nan, 30.0], dtype='float64')
Số phần tử (size)...
9
Kiểu dữ liệu (dtype)...
float64
Đếm giá trị duy nhất có NaN...
NaN     3
50.0    2
10.0    1
70.0    1
90.0    1
30.0    1
dtype: int64

Giải thích: Mặc định dropna=True bỏ qua NaN. Với dropna=False, NaN được tính như một giá trị riêng biệt (xuất hiện 3 lần). Kết quả sắp xếp giảm dần theo tần suất. Index của Series kết quả là các giá trị duy nhất.