Tự động hóa trực quan hóa của bạn
Một trong những điểm mạnh lớn của Matplotlib là bạn có thể tự động hóa để thích ứng với dữ liệu đầu vào. Ví dụ, nếu bạn nhận dữ liệu có số lượng danh mục không xác định, bạn vẫn có thể tạo biểu đồ cột với một cột cho mỗi danh mục.
Đó chính là việc bạn sẽ làm trong bài tập này. Bạn sẽ trực quan hóa dữ liệu về các vận động viên đoạt huy chương tại Thế vận hội mùa hè 2016 một lần nữa, nhưng lần này bạn có một tập dữ liệu có số lượng bộ môn thể thao không xác định. Tập dữ liệu này được nạp vào bộ nhớ dưới dạng một đối tượng DataFrame của pandas tên là summer_2016_medals, trong đó có một cột "Sport" cho biết mỗi hàng thuộc bộ môn nào. Cũng có một cột "Weight" cho biết cân nặng của từng vận động viên.
Bài tập này là một phần của khóa học
Nhập môn trực quan hóa dữ liệu với Matplotlib
Hướng dẫn bài tập
- Lặp qua các giá trị của
sportsvà dùngsportlàm biến vòng lặp. - Trong mỗi lượt lặp, trích các hàng mà cột
"Sport"bằngsport. - Thêm một cột vào đối tượng
axđã cho, gắn nhãn bằng tên môn thể thao, với chiều cao là giá trị trung bình của cột"Weight", và thanh lỗi trên trục y là độ lệch chuẩn. - Lưu hình vào tệp
"sports_weights.png".
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.
fig, ax = plt.subplots()
# Loop over the different sports branches
for ____ in ____:
# Extract the rows only for this sport
sport_df = ____
# Add a bar for the "Weight" mean with std y error bar
____
ax.set_ylabel("Weight")
ax.set_xticklabels(sports, rotation=90)
# Save the figure to file
____