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

When / Otherwise

Yêu cầu này giống với bài trước, nhưng giờ bạn muốn thêm nhiều giá trị dựa trên vị trí/chức danh của cử tri. Hãy chỉnh sửa DataFrame voter_df để cộng một số ngẫu nhiên cho bất kỳ thành viên bỏ phiếu nào có chức danh là Councilmember. Dùng 2 cho Mayor và 0 cho mọi chức danh khác.

DataFrame voter_df đã được định nghĩa và sẵn sàng cho bạn. Thư viện pyspark.sql.functions có sẵn dưới tên F. Bạn có thể dùng F.rand() để tạo giá trị ngẫu nhiên.

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

Làm sạch dữ liệu với PySpark

Xem khóa học

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

  • Thêm một cột vào voter_df tên là random_val với kết quả từ phương thức F.rand() cho bất kỳ cử tri nào có chức danh Councilmember. Đặt random_val là 2 cho Mayor. Với mọi chức danh khác, đặt giá trị 0.
  • Hiển thị một số hàng của DataFrame, lưu ý xem các mệnh đề đã hoạt động đúng chưa.
  • Dùng mệnh đề .filter để tìm giá trị 0 trong random_val.

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.

# Add a column to voter_df for a voter based on their position
voter_df = voter_df.____('random_val',
                               when(voter_df.TITLE == 'Councilmember', ____)
                               .____(____, 2)
                               ____

# Show some of the DataFrame rows
voter_df.show()

# Use the .filter() clause with random_val
voter_df.____(____).show()
Chỉnh sửa và Chạy Mã