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

Viết một iterator để tải dữ liệu theo từng phần (2)

Trong bài trước, bạn đã dùng read_csv() để đọc các phần (chunk) DataFrame từ một tập dữ liệu lớn. Ở bài này, bạn sẽ đọc một tệp với kích thước phần DataFrame lớn hơn và sau đó xử lý dữ liệu từ phần đầu tiên.

Để xử lý dữ liệu, bạn sẽ tạo một DataFrame khác chỉ gồm các hàng của một quốc gia cụ thể. Sau đó, bạn sẽ zip hai cột của DataFrame mới, 'Total Population''Urban population (% of total)'. Cuối cùng, bạn sẽ tạo một danh sách các tuple từ đối tượng zip, trong đó mỗi tuple gồm một giá trị từ mỗi trong hai cột nêu trên.

Bạn sẽ sử dụng dữ liệu từ 'ind_pop_data.csv', có sẵn trong thư mục hiện tại. pandas đã được import là pd.

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

Hộp Công Cụ Python

Xem khóa học

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

  • Dùng pd.read_csv() để đọc tệp 'ind_pop_data.csv' theo từng phần có kích thước 1000. Gán kết quả cho urb_pop_reader.
  • Lấy phần DataFrame đầu tiên từ iterable urb_pop_reader và gán cho df_urb_pop.
  • Chỉ chọn các hàng của df_urb_pop'CountryCode''CEB'. Để làm điều này, so sánh xem df_urb_pop['CountryCode']bằng 'CEB' trong dấu ngoặc vuông của df_urb_pop[____] hay không.
  • Dùng zip() để ghép hai cột 'Total Population''Urban population (% of total)' của df_pop_ceb. Gán đối tượng zip thu được cho pops.

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.

# Initialize reader object: urb_pop_reader
urb_pop_reader = pd.read_csv(____, ____)

# Get the first DataFrame chunk: df_urb_pop
df_urb_pop = next(____)

# Check out the head of the DataFrame
print(df_urb_pop.head())

# Check out specific country: df_pop_ceb
df_pop_ceb = df_urb_pop[____]

# Zip DataFrame columns of interest: pops
pops = zip(____, ____)

# Turn zip object into list: pops_list
pops_list = list(pops)

# Print pops_list
print(pops_list)
Chỉnh sửa và Chạy Mã