1. Học hỏi
  2. /
  3. Dự An
  4. /
  5. Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

Connected

Bài tập

Tính D bằng Grouping trong Pandas

Việc tính toán trên các tập con của một DataFrame là thao tác quá phổ biến nên pandas cung cấp một cách thay thế cho vòng lặp: phương thức groupby. Trong mã mẫu, groupby được dùng trước để nhóm các tract theo bang, tức là những hàng có cùng giá trị ở cột "state". Phương thức sum() được áp dụng theo từng nhóm lên các cột.

Bài tập này cũng sử dụng merge, một phương thức hữu ích khác của pandas, để nối (join) tổng theo nhóm vào từng tract riêng lẻ. Chưa cần lo về cú pháp lúc này. merge sẽ được giải thích ở bài sau.

pandas đã được import với bí danh quen thuộc, và DataFrame tracts chứa các cột dân số white và black đã được nạp. Các biến w và b đã được gán với tên cột "white" và "black".

Hướng dẫn

100 XP
  • Tạo sums_by_state bằng groupby và in kết quả.
  • Tạo tracts bằng merge và in kết quả.
  • Tính \(\left\lvert\frac{a_i}{A} - \frac{b_i}{B}\right\rvert\) và lưu vào cột mới D. (Lưu ý: Tổng dân số White và Black (\(A\) và \(B\)) đã được tính sẵn và có trong DataFrame tracts ở các cột có hậu tố "_sum").
  • Cộng (sum) cột D theo bang bằng phương thức groupby, rồi nhân với 0.5.