Menu
CoddyTech

Phân nhóm số

Thuộc phần Thống kê cho machine learning trong hành trình Machine Learning của Coddy. Bài học 54 trên 64.

Hãng hàng không tính phí hành lý theo hạng cân, không tính theo từng gam. Phân nhóm biến các số thành những khoảng gọi là nhóm, dùng khi chỉ cần biết khoảng:

Trục số từ 0 đến 32 kg, chia tại 7 và 23 thành ba nhóm được tô màu: khoang hành khách, tiêu chuẩn và nặng. Sáu kiện hành lý được biểu thị bằng các chấm: 5.5 và 7.0 ở nhóm khoang hành khách, 12.4, 18.2 và 23.0 ở nhóm tiêu chuẩn, 30.5 ở nhóm nặng

pd.cut nhận các giá trị, các ranh giới và một nhãn cho mỗi khoảng:

bags = pd.DataFrame({"kg": [5.5, 23.0, 18.2, 30.5, 7.0, 12.4]})
bags["class"] = pd.cut(bags["kg"], bins=[0, 7, 23, 32],
                       labels=["cabin", "standard", "heavy"])
print(bags["class"].value_counts().sort_index())

Kết quả in ra là:

class
cabin       2
standard    3
heavy       1
Name: count, dtype: int64

Mỗi khoảng bao gồm cả mép phải, vì vậy 7.0 kg vẫn thuộc hành lý xách tay, còn giá trị nằm ngoài các mép sẽ trở thành NaN.

.sort_index() liệt kê các khoảng theo thứ tự riêng, từ nhẹ nhất trước.

challenge icon

Thử thách

Trung bình

Một sở thú phân nhóm thành viên trong members.csv theo age: child đến 12 tuổi, teen từ 13 đến 17 tuổi, adult từ 18 đến 64 tuổi, senior từ 65 đến 100 tuổi. Chương trình đọc một group.

  1. Thêm nhóm tuổi của mỗi thành viên dưới dạng cột group.
  2. In số thành viên của từng nhóm, bắt đầu với child.
  3. In giá trị trung bình của visits trong nhóm được đọc vào, làm tròn đến 2 chữ số thập phân.

Với một sở thú nhỏ hơn và đầu vào là teen:

group
child     1
teen      2
adult     2
senior    1
Name: count, dtype: int64
Mean visits for teen: 10.5

Tự làm thử

import pandas as pd

members = pd.read_csv("members.csv")
group = input()

# Viết code của bạn bên dưới
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Thống kê cho machine learning

Tự luyện tập: Trình biên dịch Python online