Loại bỏ các hàng không hợp lệ
Sau khi bạn đã loại bỏ thành công các hàng có chú thích (comment), bạn nhận được một số thông tin về định dạng tổng quát của dữ liệu. DataFrame phải có tối thiểu 5 cột, phân tách bằng tab. Lưu ý DataFrame ban đầu của bạn chỉ có một cột, nên bạn sẽ cần tách dữ liệu theo ký tự tab (\t).
DataFrame annotations_df đã sẵn sàng, với các hàng có chú thích đã được loại bỏ. Thư viện spark.sql.functions đã được gán bí danh F. Số lượng hàng ban đầu trong DataFrame được lưu trong biến initial_count.
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
- Tạo biến mới
tmp_fieldsbằng cách tách cột'_c0'của DataFrameannotations_dftheo ký tự tab. - Tạo cột mới trong
annotations_dftên'colcount'biểu thị số trường (field) được xác định ở bước trước. - Lọc bỏ mọi hàng trong
annotations_dfcó ít hơn 5 trường. - Đếm số hàng trong DataFrame và so sánh với
initial_count.
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.
# Split _c0 on the tab character and store the list in a variable
tmp_fields = ____(annotations_df['_c0'], ____)
# Create the colcount column on the DataFrame
annotations_df = annotations_df.____('____', ____(____))
# Remove any rows containing fewer than 5 fields
annotations_df_filtered = annotations_df.____(~ (____))
# Count the number of rows
final_count = ____
print("Initial count: %d\nFinal count: %d" % (initial_count, final_count))