Tách & Nổ (explode)
Khả năng lấy một trường tổng hợp như GARAGEDESCRIPTION và “nhào nặn” nó thành thứ hữu ích là một quá trình nhiều bước. Sẽ rất hữu ích nếu bạn sớm hiểu mình có thể thu được giá trị gì khi mở rộng dữ liệu này. Trong ví dụ này, chúng ta sẽ chuyển chuỗi thành một mảng giống danh sách, dùng explode để bung ra từng phần tử rồi kiểm tra các giá trị duy nhất.
Bài tập này là một phần của khóa học
Feature Engineering với PySpark
Hướng dẫn bài tập
- Import các hàm cần thiết
split()vàexplode()từpyspark.sql.functions - Dùng
split()để tạo cột mớigarage_listbằng cách táchdf['GARAGEDESCRIPTION']theo ', ' (gồm dấu phẩy và khoảng trắng). - Tạo một bản ghi mới cho mỗi giá trị trong
df['garage_list']bằngexplode()và gán vào cột mớiex_garage_list - Dùng
distinct()để lấy các giá trị duy nhất củaex_garage_listvàshow100 hàng đầu tiên, rút gọn ở 50 ký tự để hiển thị các giá trị.
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.
# Import needed functions
____ ____ ____ ____, ____
# Convert string to list-like array
df = df.withColumn(____, ____(____, ____))
# Explode the values into new records
ex_df = df.withColumn(____, ____(____))
# Inspect the values
ex_df[['ex_garage_list']].____().____(100, ____=____)