Tạo danh mục lồng nhau
Với biểu đồ cuối cùng, các đại lý bất động sản muốn bạn trình bày doanh số bán bất động sản trong cả năm, hiển thị các tháng và quý trên trục x.
Một phần mã để thêm tháng và quý vào bộ dữ liệu Melbourne đã được nạp sẵn cho bạn. Biến factors, đại diện cho các tháng và quý tương ứng, cần được tạo. Dữ liệu cũng phải được group theo hai cột mới này để tính tổng doanh số bằng cách lấy tổng cột "price".
Bài tập này là một phần của khóa học
Trực quan hóa dữ liệu tương tác với Bokeh
Hướng dẫn bài tập
- Hoàn thiện
factorsbằng cách nhập các quý tương ứng và các tháng đi kèm. - Tạo
grouped_melbbằng cách groupmelbtheo"month"và"quarter", tính tổng cột"price".
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.
melb["month"] = melb["date"].dt.month
quarters = {1: "Q1", 2:"Q1", 3:"Q1", 4:"Q2", 5:"Q2", 6:"Q2", 7:"Q3", 8:"Q3", 9:"Q3", 10:"Q4", 11:"Q4", 12:"Q4"}
melb["quarter"] = melb["month"].replace(quarters)
melb["month"] = melb["month"].replace({1:"January", 2:"February", 3:"March", 4:"April", 5:"May", 6:"June", 7:"July", 8:"August", 9:"September", 10:"October", 11:"November", 12:"December"})
# Create factors
factors = [("Q1", "January"), ("____", "February"), ("____", "March"),
("Q2", "April"), ("____", "____"), ("____", "____"),
("Q3", "July"), ("____", "____"), ("____", "____"),
("Q4", "October"), ("____", "____"), ("____", "____")]
# Calculate total sales by month and quarter
grouped_melb = melb.groupby(["____", "____"], as_index=False)["____"].sum()
grouped_melb.sort_values("quarter", inplace=True)
print(grouped_melb.head())