การใช้การแปลงข้อมูลขั้นสูงกับ DataFrame
pandas มีเครื่องมือสำหรับแปลงข้อมูลในตัวอยู่มากมาย แต่บางครั้งก็จำเป็นต้องใช้ตรรกะที่ซับซ้อนกว่านั้นในการแปลงข้อมูล ฟังก์ชัน apply ช่วยให้นำฟังก์ชันที่ผู้ใช้กำหนดเองไปใช้กับแถวหรือคอลัมน์ของ DataFrame ได้ ซึ่งเปิดทางให้ทำการแปลงข้อมูลและสร้างฟีเจอร์ขั้นสูงได้
ฟังก์ชัน find_street_name() จะแยกชื่อถนนออกจาก "street_address" โดยตัดเลขที่บ้านออกจากข้อความ ฟังก์ชันนี้ถูกโหลดไว้ในหน่วยความจำแล้ว และพร้อมนำไปใช้กับ DataFrame raw_testing_scores
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ETL and ELT ใน Python
คำแนะนำการฝึกหัด
- ในการกำหนดฟังก์ชัน
transform()ให้ใช้ฟังก์ชันfind_street_name()เพื่อสร้างคอลัมน์ใหม่ชื่อ"street_name" - ใช้ฟังก์ชัน
transform()เพื่อล้างข้อมูลใน DataFrameraw_testing_scores - แสดงแถวแรกๆ ของ DataFrame
cleaned_testing_scoresและสังเกตคอลัมน์"street_name"ที่เพิ่มเข้ามาใหม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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.____())