Đếm theo nhóm
Ở các bài trước, bạn truy xuất dữ liệu từ các bảng rồi tóm tắt các dataframe kết quả trong pandas để vẽ biểu đồ. Bằng cách dùng COUNT và GROUP BY trong một truy vấn SQL, chúng ta có thể lấy trực tiếp các con số tóm tắt đó từ cơ sở dữ liệu.
Bảng hpd311calls có một cột complaint_type phân loại các bản ghi cuộc gọi theo vấn đề, như sưởi ấm hoặc hệ thống ống nước. Để vẽ biểu đồ số lượng cuộc gọi theo từng vấn đề, bạn sẽ viết một truy vấn SQL để COUNT số bản ghi theo loại khiếu nại.
pandas đã được import với bí danh pd, và engine cơ sở dữ liệu cho data.db đã được tạo là engine.
Bài tập này là một phần của khóa học
Nạp dữ liệu gọn nhẹ với pandas
Hướng dẫn bài tập
- Tạo một truy vấn SQL lấy cột
complaint_typevà số lượng tất cả bản ghi từhpd311calls, được nhóm theocomplaint_type. - Tạo một dataframe với
read_sql()về số lượng cuộc gọi theo vấn đề, đặt tên làcalls_by_issue. - Chạy phần cuối của mã để vẽ số lượng cuộc gọi cho từng vấn đề nhà ở.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Create query to get call counts by complaint_type
query = """
____ ____,
____(*)
FROM hpd311calls
____ ____;
"""
# Create dataframe of call counts by issue
calls_by_issue = pd.read_sql(____, ____)
# Graph the number of calls for each housing issue
calls_by_issue.plot.barh(x="complaint_type")
plt.show()