ในบทช่วยสอนนี้ เราจะดูวิธีทำให้คอลัมน์ชื่อใน DataFrame กลายเป็นตัวพิมพ์ใหญ่ทั้งหมด (Uppercase) มีหลายวิธีในการทำ เราจะดูทีละวิธี
วิธีที่ 1: ใช้ str.upper()
เราสามารถกำหนดคอลัมน์ใหม่โดยแปลงคอลัมน์เดิมเป็นตัวพิมพ์ใหญ่ด้วยเมธอด upper() ของ string accessor (.str)
ตัวอย่างโค้ด
import pandas as pd
# data for DataFrame
data = {
'Name': ['Hafeez', 'Aslan', 'Kareem'],
'Age': [19, 21, 18],
'Profession': ['Developer', 'Engineer', 'Artist']
}
# creating DataFrame
data_frame = pd.DataFrame(data)
# displaying the DataFrame
print('---------------------Before-------------------')
print(data_frame)
print()
# making the Name column strings to upper case
data_frame['Name'] = data_frame['Name'].str.upper()
# displaying the DataFrame
print('---------------------After-------------------')
print(data_frame)ผลลัพธ์
---------------------Before-------------------
Name Age Profession
0 Hafeez 19 Developer
1 Aslan 21 Engineer
2 Kareem 18 Artist
---------------------After-------------------
Name Age Profession
0 HAFEEZ 19 Developer
1 ASLAN 21 Engineer
2 KAREEM 18 Artistวิธีที่ 2: ใช้ apply() กับ lambda
เราสามารถทำได้อีกวิธีด้วยเมธอด apply() ของ Series ร่วมกับ lambda function
ตัวอย่างโค้ด
import pandas as pd
data = {
'Name': ['Hafeez', 'Aslan', 'Kareem'],
'Age': [19, 21, 18],
'Profession': ['Developer', 'Engineer', 'Artist']
}
data_frame = pd.DataFrame(data)
print('---------------------Before-------------------')
print(data_frame)
print()
# using apply with lambda
data_frame['Name'] = data_frame['Name'].apply(lambda name: name.upper())
print('---------------------After-------------------')
print(data_frame)ผลลัพธ์
---------------------Before-------------------
Name Age Profession
0 Hafeez 19 Developer
1 Aslan 21 Engineer
2 Kareem 18 Artist
---------------------After-------------------
Name Age Profession
0 HAFEEZ 19 Developer
1 ASLAN 21 Engineer
2 KAREEM 18 Artistสรุป
ทั้งสองวิธีให้ผลลัพธ์เหมือนกัน วิธีที่ 1 (.str.upper()) เป็นวิธีเฉพาะเจาะจงสำหรับ string operations และมักจะเร็วกว่า วิธีที่ 2 (.apply(lambda x: x.upper())) ยืดหยุ่นกว่า หากต้องการ logic ที่ซับซ้อนกว่าการแปลง case หากมีข้อสงสัย สามารถถามได้ในส่วนความคิดเห็น