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ả.
- Tạo DataFrame từ dữ liệu.
- Áp dụng điều kiện lọc:
df[df['Age'].between(20, 30)]. - 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.