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

Đếm số lượng tuổi từ 20 đến 30 trong DataFrame Python

Mô tả bài toán

Cho một DataFrame chứa cột Age:

   Id  Age
0   1  21
1   2  23
2   3  32
3   4  35
4   5  18

Yêu cầu: Đếm số dòng có giá trị Age nằm trong khoảng từ 20 đến 30 (bao gồm cả hai đầu).

Kết quả mong đợi

Total number of age between 20 to 30 is 2.

Giải pháp

Sử dụng phương thức between() của Series pandas để lọc dữ liệu, sau đó đếm số dòng kết quả.

  1. Tạo DataFrame từ dữ liệu.
  2. Áp dụng điều kiện lọc: df[df['Age'].between(20, 30)].
  3. Sử dụng len() để đếm số dòng của DataFrame kết quả.

Ví dụ code hoàn chỉnh

import pandas as pd

data = {'Id': [1,2,3,4,5], 'Age': [21,23,32,35,18]}
df = pd.DataFrame(data)
print("DataFrame gốc:")
print(df)

print("\nĐếm số tuổi từ 20 đến 30:")
result = df[df['Age'].between(20, 30)]
count = len(result)
print(f"Số lượng: {count}")

# Hoặc gọn hơn:
# print(len(df[df['Age'].between(20, 30)]))

Đầu ra

DataFrame gốc:
   Id  Age
0   1  21
1   2  23
2   3  32
3   4  35
4   5  18

Đếm số tuổi từ 20 đến 30:
Số lượng: 2

Giải thích: Phương thức between(20, 30) trả về một boolean Series, True cho các giá trị trong khoảng [20, 30]. Khi dùng để index DataFrame, nó chỉ giữ lại các hàng thỏa mãn điều kiện.