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
Hướng dẫn bài tập
- Thêm một cột vào
voter_dftên làrandom_valvới kết quả từ phương thứcF.rand()cho bất kỳ cử tri nào có chức danh Councilmember. Đặtrandom_vallà 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 trongrandom_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()