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