Áp dụng các phép biến đổi nâng cao cho DataFrame
pandas có rất nhiều công cụ biến đổi dựng sẵn, nhưng đôi khi bạn cần áp dụng logic nâng cao hơn trong quá trình biến đổi. Hàm apply cho phép bạn áp dụng một hàm do người dùng định nghĩa lên từng hàng hoặc cột của DataFrame, mở ra khả năng cho các phép biến đổi nâng cao và tạo đặc trưng.
Hàm find_street_name() sẽ tách tên đường từ "street_address", loại bỏ số nhà khỏi chuỗi. Hàm này đã được nạp vào bộ nhớ và sẵn sàng áp dụng lên DataFrame raw_testing_scores.
Bài tập này là một phần của khóa học
ETL và ELT với Python
Hướng dẫn bài tập
- Trong phần định nghĩa hàm
transform(), dùng hàmfind_street_name()để tạo một cột mới tên"street_name". - Dùng hàm
transform()để làm sạch DataFrameraw_testing_scores. - In phần đầu của DataFrame
cleaned_testing_scoresđể quan sát cột"street_name"mới.
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.
def transform(raw_data):
# Use the apply function to extract the street_name from the street_address
raw_data["street_name"] = raw_data.____(
# Pass the correct function to the apply method
____,
axis=1
)
return raw_data
# Transform the raw_testing_scores DataFrame
cleaned_testing_scores = ____(raw_testing_scores)
# Print the head of the cleaned_testing_scores DataFrame
print(cleaned_testing_scores.____())