Hướng dẫn này trình bày 2 cách phổ biến để chuyển toàn bộ giá trị của một cột chuỗi sang chữ in hoa (uppercase) trong Pandas.
Cách 1: Sử dụng accessor .str.upper()
Cách nhanh nhất và được khuyến nghị (vectorized).
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)
# Chuyển cột Name sang uppercase
data_frame['Name'] = data_frame['Name'].str.upper()
print('---------------------After-------------------')
print(data_frame)Kết quả
---------------------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 ArtistCách 2: Sử dụng apply() với lambda
Linh hoạt hơn nếu cần logic phức tạp, nhưng chậm hơn .str.upper().
# ... (tạo dataframe tương tự) data_frame['Name'] = data_frame['Name'].apply(lambda name: name.upper())
Kết quả giống hệt cách 1.
So sánh
| Phương pháp | Ưu điểm | Nhược điểm |
|---|---|---|
.str.upper() | Nhanh, vectorized, code ngắn gọn | Chỉ dùng cho chuỗi, logic cố định |
.apply(lambda x: x.upper()) | Tùy chỉnh logic phức tạp | Chậm hơn do overhead Python loop |
Kết luận
Nên dùng .str.upper() cho trường hợp đơn giản. Dùng .apply() khi cần xử lý có điều kiện hoặc logic phức tạp hơn.