Giả sử bạn muốn hoán đổi vị trí của 2 hàng cuối cùng trong DataFrame.
Giải pháp
- Tạo DataFrame.
- Lưu hàng cuối vào biến tạm:
temp = df.iloc[-1]. - Gán hàng cuối = hàng lến cuối:
df.iloc[-1] = df.iloc[-2]. - Gán hàng lến cuối = temp:
df.iloc[-2] = temp.
Mã ví dụ
import pandas as pd
data = {
'Name': ['David', 'Adam', 'Bob', 'Alex', 'Serina'],
'Age': [13, 12, 12, 13, 12],
'Maths': [98, 59, 66, 95, 70],
'Science': [75, 96, 55, 49, 78],
'English': [79, 45, 70, 60, 80]
}
df = pd.DataFrame(data)
print("Trước hoán đổi:\n", df)
temp = df.iloc[-1].copy()
df.iloc[-1] = df.iloc[-2]
df.iloc[-2] = temp
print("\nSau hoán đổi:\n", df)
Kết quả
Trước hoán đổi:
Name Age Maths Science English
0 David 13 98 75 79
1 Adam 12 59 96 45
2 Bob 12 66 55 70
3 Alex 13 95 49 60
4 Serina 12 70 78 80
Sau hoán đổi:
Name Age Maths Science English
0 David 13 98 75 79
1 Adam 12 59 96 45
2 Bob 12 66 55 70
3 Serina 12 70 78 80
4 Alex 13 95 49 60
Lưu ý: Dùng .copy() để tránh tham chiếu chung. Cách khác: df.iloc[[-1, -2]] = df.iloc[[-2, -1]].values.