สมมติว่าคุณมี dataframe และผลลัพธ์สำหรับการสลับสองแถวสุดท้าย
Before swapping 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 After swapping 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
วิธีแก้ปัญหา
เพื่อแก้ปัญหานี้ เราจะปฏิบัติตามแนวทางด้านล่าง −
-
กำหนดดาต้าเฟรม
-
สร้างข้อมูลชั่วคราวเพื่อจัดเก็บแถวสุดท้าย มีการกำหนดไว้ด้านล่าง
temp = df.iloc[-1]
-
สลับค่าแถวที่สองเป็นแถวแรกและกำหนดข้อมูลชั่วคราวให้กับแถวที่สอง มีการกำหนดไว้ด้านล่าง
df.iloc[-1] = df.iloc[-2] df.iloc[-2] = temp
ตัวอย่าง
มาดูการใช้งานด้านล่างเพื่อความเข้าใจที่ดีขึ้น -
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("Before swapping\n",df)
temp = df.iloc[-1]
df.iloc[-1] = df.iloc[-2]
df.iloc[-2] = temp
print("After swapping\n",df) ผลลัพธ์
Before swapping 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 After swapping 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