Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เพิ่มแถวเข้า Pandas DataFrame ด้วย append()

แนวคิด

เมธอด DataFrame.append(other) เพิ่มแถวจาก DataFrame อื่นต่อท้าย คืน DataFrame ใหม่ หมายเหตุ: append() ถูก deprecated ใน Pandas 2.0+ ควรใช้ pd.concat() แทน

ตัวอย่างโค้ด (append แบบเก่า)

import pandas as pd

df1 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Audi', 'Jaguar']})
df2 = pd.DataFrame({"Car": ['Mercedes', 'Tesla', 'Bentley', 'Mustang']})

print("DataFrame1:\n", df1)
print("DataFrame2:\n", df2)

# append (deprecated)
df1 = df1.append(df2)
print("\nหลัง append:\n", df1)

วิธีที่แนะนำ (Pandas 2.0+): pd.concat()

# รวมตามแนวแถว (axis=0)
combined = pd.concat([df1, df2], ignore_index=True)
print("pd.concat():\n", combined)

# ignore_index=True รีเซ็ต index ใหม่ 0,1,2...
# ignore_index=False (default) รักษา index เดิม (อาจซ้ำ)

ผลลัพธ์

DataFrame1:
      Car
0     BMW
1   Lexus
2    Audi
3  Jaguar

DataFrame2:
        Car
0  Mercedes
1     Tesla
2  Bentley
3  Mustang

หลัง append:
      Car
0     BMW
1   Lexus
2    Audi
3  Jaguar
0  Mercedes
1     Tesla
2  Bentley
3  Mustang

สรุป

  • ใช้ pd.concat([df1, df2], ignore_index=True) แทน append()
  • ignore_index=True สำคัญเพื่อไม่ให้ index ซ้ำ
  • รองรับการรวมหลาย DataFrame พร้อมกัน: pd.concat([df1, df2, df3])