Menu
CoddyTech

Biểu đồ tần suất của một cột

Thuộc phần Dữ liệu và biểu đồ trong hành trình Machine Learning của Coddy. Bài học 50 trên 60.

Thời gian chờ vào buổi tối tại phòng khám có lâu hơn buổi sáng không? Hai biểu đồ tần suất trên cùng một trục trả lời ngay câu hỏi này:

Hai biểu đồ tần suất bán trong suốt về thời gian chờ tại phòng khám: thời gian chờ buổi sáng từ 6 đến 16 phút ở bên trái, buổi tối từ 13 đến 28 phút ở bên phải, hai biểu đồ chồng lấp một chút

Một cột có thể đưa thẳng vào ax.hist. Giữ lại các hàng của từng nhóm, rồi vẽ cả hai trên cùng một hệ trục:

# waits có các cột shift và minutes
morning = waits[waits["shift"] == "morning"]
evening = waits[waits["shift"] == "evening"]
fig, ax = plt.subplots()
ax.hist(morning["minutes"], bins=4, alpha=0.5, label="morning")
ax.hist(evening["minutes"], bins=4, alpha=0.5, label="evening")
ax.set_title("Clinic Waits")
ax.set_xlabel("Minutes")
ax.legend()
plt.show()

alpha=0.5 làm các thanh trong suốt một nửa (0 là vô hình, 1 là đặc), nhờ đó các phần chồng lên nhau vẫn hiển thị. label= đặt tên cho từng thanh trong chú giải.

Khi các nhóm trải rộng trên những khoảng giá trị khác nhau, cột đó giúp mô hình phân biệt chúng.

challenge icon

Thử thách

Trung bình

Một văn phòng hỏi nhân viên mất bao lâu để đi làm: commute.csv có mode (bike hoặc bus) và minutes. Thời gian của nhóm nào phân tán hơn? Đoạn code ban đầu lưu từng nhóm trong bike và bus, đồng thời dựng khung cho biểu đồ.

Vẽ biểu đồ tần suất cho minutes của mỗi nhóm, với bins=5, alpha=0.5 và nhãn bike hoặc bus.

Biểu đồ của bạn trông giống biểu đồ này, từ khảo sát năm ngoái:

Hai biểu đồ tần suất trong mờ một nửa có tiêu đề Commute Times: thời gian đi xe đạp tập trung trong khoảng từ 14 đến 26 phút, thời gian đi xe buýt trải rộng từ 15 đến 45 phút, kèm chú giải

Nhóm có các cột trải dài qua nhiều phút hơn thì phân tán hơn. Coddy mô tả biểu đồ của bạn trong đầu ra.

Tự làm thử

import pandas as pd
import matplotlib.pyplot as plt

trips = pd.read_csv("commute.csv")
bike = trips[trips["mode"] == "bike"]
bus = trips[trips["mode"] == "bus"]

fig, ax = plt.subplots()
ax.set_title("Commute Times")
ax.set_xlabel("Minutes")

# Viết code bên dưới

# Đừng thay đổi các dòng bên dưới
ax.legend()
plt.show()
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 Dữ liệu và biểu đồ

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