ในการผนวกแถวของ dataframe หนึ่งกับอีกแถวหนึ่ง เราสามารถใช้ฟังก์ชัน Pandas append() ด้วยความช่วยเหลือของ append() เราสามารถต่อท้ายคอลัมน์ได้เช่นกัน มาดูตัวอย่างวิธีการใช้วิธีนี้กัน
ขั้นตอน
- สร้างข้อมูลตารางแบบสองมิติ ปรับขนาดได้ และอาจต่างกันได้ df1
- พิมพ์อินพุต DataFrame, df1.
- สร้าง DataFrame อื่น df2 ด้วยชื่อคอลัมน์เดียวกันแล้วพิมพ์ออกมา
- ใช้วิธีผนวก df1.append(df2, forget_index=True) เพื่อต่อท้ายแถวของ df2 ด้วย df2
- พิมพ์ผลลัพธ์ที่ DataFrame
ตัวอย่าง
import pandas as pd df1 = pd.DataFrame({"x": [5, 2], "y": [4, 7], "z": [9, 3]}) df2 = pd.DataFrame({"x": [1, 3], "y": [1, 9], "z": [29, 30]}) print "Input DataFrame 1 is:\n", df1 print "Input DataFrame 2 is:\n", df2 df3 = df1.append(df2, ignore_index=True) print "After appending, DataFrame is: \n", df3
ผลลัพธ์
Input DataFrame 1 is: x y z 0 5 4 9 1 2 7 3 Input DataFrame 2 is: x y z 0 1 1 29 1 3 9 30 After appending, DataFrame is: x y z 0 5 4 9 1 2 7 3 2 1 1 29 3 3 9 30
ตอนนี้ ลองใช้ชื่อคอลัมน์ที่แตกต่างกันสำหรับ dataframes และใช้ฟังก์ชัน append() โดยไม่มีพารามิเตอร์ dissolve_index ค่าเริ่มต้นของ forget_index เป็นเท็จ
import pandas as pd df1 = pd.DataFrame({"x": [5, 2], "y": [4, 7], "z": [9, 3]}) df2 = pd.DataFrame({"a": [1, 3], "b": [1, 9], "c": [29, 30]}) print "Input DataFrame 1 is:\n", df1 print "Input DataFrame 2 is:\n", df2 df3 = df1.append(df2) print "After appending, DataFrame is: \n", df3
ตอนนี้ มันจะสร้างผลลัพธ์ต่อไปนี้
Input DataFrame 1 is: x y z 0 5 4 9 1 2 7 3 Input DataFrame 2 is: a b c 0 1 1 29 1 3 9 30 After appending, DataFrame is: x y z a b c 0 5.0 4.0 9.0 NaN NaN NaN 1 2.0 7.0 3.0 NaN NaN NaN 0 NaN NaN NaN 1.0 1.0 29.0 1 NaN NaN NaN 3.0 9.0 30.0