Cách 1: str.upper() (Vectorized, khuyên dùng)
import pandas as pd
df = pd.DataFrame({
'Day': ['mon', 'tue', 'wed', 'thu', 'fri'],
'Subject': ['Math', 'english', 'science', 'music', 'games']
})
df['Day'] = df['Day'].str.upper()
print(df)
Kết quả
Day Subject 0 MON Math 1 TUE english 2 WED science 3 THU music 4 FRI games
Cách 2: apply() + lambda (linh hoạt hơn)
df = pd.DataFrame({
'Day': ['mon', 'tue', 'wed', 'thu', 'fri'],
'Subject': ['Math', 'english', 'science', 'music', 'games']
})
# Áp dụng cho cột Subject
df1 = df['Subject'].apply(lambda x: x.upper())
print(df1)
Kết quả
0 MATH 1 ENGLISH 2 SCIENCE 3 MUSIC 4 GAMES Name: Subject, dtype: object
So sánh
| Phương pháp | Ưu điểm | Nhược điểm |
|---|---|---|
| .str.upper() | Vectorized, nhanh, cú pháp ngắn | Chỉ dùng cho Series string |
| .apply(lambda x: x.upper()) | Linh hoạt, dùng được logic phức tạp | Chậm hơn (loop Python) |
Kết luận
Dùng df['col'].str.upper() cho trường hợp đơn giản. Dùng .apply() khi cần logic tùy chỉnh phức tạp.