Bắt đầu ngayBắt đầu miễn phí

Luồng di cư giữa các bang

Trong video, bạn đã thấy một biểu đồ nhiệt về luồng di cư giữa các bang, nhưng nó khá rối. Trong bài này, bạn sẽ chỉ xem các luồng di cư xảy ra bên trong vùng Trung Tây (Midwest).

Một DataFrame state_to_state đã được nạp, và vài dòng đầu được hiển thị trên bảng điều khiển. Hãy nhớ từ video rằng nhãn dòng cho biết bang chuyển đến, còn tên cột cho biết bang chuyển đi.

Danh sách midwest_states đã được định nghĩa với tên các bang thuộc Midwest. (In ra bảng điều khiển nếu bạn muốn xem gồm những bang nào.) DataFrame cũng dùng tên bang cho cả tên cột và chỉ mục, nên bạn sẽ dùng midwest_states để trích xuất các cột và hàng cần cho biểu đồ nhiệt này.

pandasseaborn đã được nhập với các bí danh quen thuộc.

Bài tập này là một phần của khóa học

Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Chia lọc DataFrame để chỉ giữ các cột khớp với danh sách tên bang, và chỉ các hàng có chỉ mục nằm trong danh sách tên bang.
  • Việc chia lọc có thể đã làm thay đổi thứ tự cột và hàng. Kiểm tra xem midwest.index có bằng midwest.columns không.
  • Sắp xếp DataFrame theo chỉ mục hàng (axis = 0) và theo tên cột (axis = 1). Dùng inplace = True cho cả hai.
  • Tạo biểu đồ nhiệt từ midwest. Áp dụng dải màu vàng–xanh lá–xanh dương với cmap="YlGnBu".

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.

# Retain only rows and columns of Midwest states
midwest = state_to_state[____][state_to_state.index.isin(____)]

# Are rows and columns still in the same order?
print(____)

# Sort the rows (by index) and columns (by name)
midwest.sort_index(axis = ____, ____)
midwest.sort_index(axis = ____, ____)

# Create a heatmap of migration flows
____
plt.xticks(rotation=90)
plt.yticks(rotation=0)
plt.show()
Chỉnh sửa và Chạy Mã