Để nối nhiều hơn hai Pandas DataFrame, sử dụng phương thức concat(). Đặt tham số axis là axis=0 để nối theo hàng. Trước tiên, nhập thư viện cần thiết:
import pandas as pd
Hãy tạo DataFrame thứ 1:
dataFrame1 = pd.DataFrame(
{
"Col1": [10, 20, 30], "Col2": [40, 50, 60], "Col3": [70, 80, 90],
}, index=[0, 1, 2],
)
Hãy tạo DataFrame thứ 2:
dataFrame2 = pd.DataFrame(
{
"Col1": [100, 110, 120], "Col2": [130, 140, 150], "Col3": [160, 170, 180],
}, index=[3, 4, 5],
)
Hãy tạo DataFrame thứ 3:
dataFrame3 = pd.DataFrame(
{
"Col1": [200, 210, 220], "Col2": [230, 240, 250], "Col3": [260, 270, 280],
}, index=[6, 7, 8],
)
Nối tất cả 3 DataFrame sử dụng concat(). Đặt "axis=0" cho nối theo hàng:
res = [dataFrame1, dataFrame2, dataFrame3] pd.concat(res, axis=0)
Ví dụ
Dưới đây là mã:
import pandas as pd
# Tạo DataFrame1
dataFrame1 = pd.DataFrame(
{
"Col1": [10, 20, 30], "Col2": [40, 50, 60], "Col3": [70, 80, 90],
},
index=[0, 1, 2],
)
# DataFrame1
print("DataFrame1...\n", dataFrame1)
# Tạo DataFrame2
dataFrame2 = pd.DataFrame(
{
"Col1": [100, 110, 120], "Col2": [130, 140, 150], "Col3": [160, 170, 180],
},
index=[3, 4, 5],
)
# DataFrame2
print("DataFrame2...\n", dataFrame2)
dataFrame3 = pd.DataFrame(
{
"Col1": [200, 210, 220], "Col2": [230, 240, 250], "Col3": [260, 270, 280],
},
index=[6, 7, 8],
)
# DataFrame3
print("DataFrame3...\n", dataFrame3)
# nối nhiều hơn 2 dataframe
# đặt "axis=0" cho nối theo hàng
res = [dataFrame1, dataFrame2, dataFrame3]
print("\n Concatenating all the 3 DataFrames (along rows)...\n", pd.concat(res, axis=0))
Kết quả
Điều này sẽ tạo ra đầu ra sau:
DataFrame1... Col1 Col2 Col3 0 10 40 70 1 20 50 80 2 30 60 90 DataFrame2... Col1 Col2 Col3 3 100 130 160 4 110 140 170 5 120 150 180 DataFrame3... Col1 Col2 Col3 6 200 230 260 7 210 240 270 8 220 250 280 Concatenating all the 3 DataFrames (along rows)... Col1 Col2 Col3 0 10 40 70 1 20 50 80 2 30 60 90 3 100 130 160 4 110 140 170 5 120 150 180 6 200 230 260 7 210 240 270 8 220 250 280