การ Vectorize เมธอด .upper()
มีหลายสถานการณ์ที่อาจต้องการใช้เมธอดหรือฟังก์ชัน Python กับแต่ละ element ใน array ของ NumPy ซึ่งเขียนเป็น for loop ก็ได้ แต่การใช้ np.vectorize() นั้นเร็วและมีประสิทธิภาพกว่ามาก!
มี array ชื่อ names ที่เก็บชื่อและนามสกุล:
names = np.array([["Izzy", "Monica", "Marvin"],
["Weber", "Patel", "Hernandez"]])
ต้องการใช้เมธอด .upper() ของ Python เพื่อแปลงตัวอักษรของชื่อทุกชื่อใน array ให้เป็นตัวพิมพ์ใหญ่ทั้งหมด โดยระลึกไว้ว่า .upper() เป็น string method ซึ่งต้องเรียกใช้กับ instance ของ string: str.upper()
โจทย์คือให้ vectorize เมธอด Python นี้ โดยมี numpy โหลดไว้ให้แล้วในชื่อ np และ array names พร้อมใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
NumPy เบื้องต้น
คำแนะนำการฝึกหัด
- สร้างฟังก์ชันที่ถูก vectorize ชื่อ
vectorized_upperจาก string method.upper()ของ Python - นำ
vectorized_upper()ไปใช้กับ arraynamesแล้วบันทึก array ที่ได้เป็นตัวแปรชื่อuppercase_names
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Vectorize the .upper() string method
vectorized_upper = ____
# Apply vectorized_upper to the names array
uppercase_names = ____
print(uppercase_names)