แนวคิด
เมธอด DataFrame.drop(labels, axis=0) ลบแถว (row) โดยระบุ index label คืน DataFrame ใหม่ (ไม่แก้ไขต้นฉบับ เว้นแต่ใช้ inplace=True)
ตัวอย่างโค้ด
import pandas as pd
# DataFrame พร้อม custom index
df = pd.DataFrame(
[[10, 15], [20, 25], [30, 35], [40, 45]],
index=['w', 'x', 'y', 'z'],
columns=['a', 'b']
)
print("DataFrame ต้นฉบับ:\n", df)
# ลบแถว index 'w'
df = df.drop('w')
print("\nหลังลบแถว 'w':\n", df)
# ลบหลายแถวพร้อมกัน
df = df.drop(['x', 'z'])
print("\nหลังลบแถว 'x' และ 'z':\n", df)
ผลลัพธ์
DataFrame ต้นฉบับ:
a b
w 10 15
x 20 25
y 30 35
z 40 45
หลังลบแถว 'w':
a b
x 20 25
y 30 35
z 40 45
หลังลบแถว 'x' และ 'z':
a b
y 30 35
ตัวเลือกสำคัญ
axis=0(default) ลบแถว,axis=1ลบคอลัมน์inplace=Trueแก้ไข DataFrame ต้นฉบับโดยตรง (ไม่คืนค่า)errors='ignore'ไม่ error ถ้า label ไม่อยู่ (ค่าเริ่มต้น 'raise')levelสำหรับ MultiIndex
ลบด้วยตำแหน่งตัวเลข (integer position)
# ใช้ iloc + drop
df = df.drop(df.index[0]) # ลบแถวแรก
df = df.drop(df.index[[0, 2]]) # ลบแถวที่ 1 และ 3