要连接两个以上的 Pandas DataFrame,请使用concat()方法。将轴参数设置为轴 = 1以沿列连接。首先,导入所需的库 -
import pandas as pd
让我们创造1日数据框-
dataFrame1 = pd.DataFrame( { "Col1": [10, 20, 30],"Col2": [40, 50, 60],"Col3": [70, 80, 90], }, index=[0, 1, 2], )
让我们创建第二个DataFrame -
dataFrame2 = pd.DataFrame( { "Col1": [100, 110, 120],"Col2": [130, 140, 150],"Col3": [160, 170, 180], }, index=[3, 4, 5], )
让我们创建第三个DataFrame -
dataFrame3 = pd.DataFrame( { "Col1": [200, 210, 220],"Col2": [230, 240, 250],"Col3": [260, 270, 280], }, index=[6, 7, 8], )
使用concat()并设置“axis=1”连接所有 3 个 DataFrames以沿列连接 -
res = [dataFrame1, dataFrame2, dataFrame3] pd.concat(res, axis=1))
以下是代码 -
import pandas as pd # 创建 DataFrame1 dataFrame1 = pd.DataFrame( { "Col1": [10, 20, 30],"Col2": [40, 50, 60],"Col3": [70, 80, 90], }, index=[0, 1, 2], ) # 数据帧1 print"DataFrame1...\n",dataFrame1 # 创建 DataFrame2 dataFrame2 = pd.DataFrame( { "Col1": [100, 110, 120],"Col2": [130, 140, 150],"Col3": [160, 170, 180], }, index=[3, 4, 5], ) # 数据帧2 print"DataFrame2...\n",dataFrame2 dataFrame3 = pd.DataFrame( { "Col1": [200, 210, 220],"Col2": [230, 240, 250],"Col3": [260, 270, 280], }, index=[6, 7, 8], ) # 数据帧3 print"DataFrame3...\n",dataFrame3 # 连接超过 3 个数据帧 # set "axis=1" for concatenation along columns res = [dataFrame1, dataFrame2, dataFrame3] print"\n Concatenating all the 3 DataFrames (along columns)...\n", pd.concat(res, axis=1)输出结果
这将产生以下输出 -
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 columns)... Col1 Col2 Col3 Col1 Col2 Col3 Col1 Col2 Col3 0 10.0 40.0 70.0 NaN NaN NaN NaN NaN NaN 1 20.0 50.0 80.0 NaN NaN NaN NaN NaN NaN 2 30.0 60.0 90.0 NaN NaN NaN NaN NaN NaN 3 NaN NaN NaN 100.0 130.0 160.0 NaN NaN NaN 4 NaN NaN NaN 110.0 140.0 170.0 NaN NaN NaN 5 NaN NaN NaN 120.0 150.0 180.0 NaN NaN NaN 6 NaN NaN NaN NaN NaN NaN 200.0 230.0 260.0 7 NaN NaN NaN NaN NaN NaN 210.0 240.0 270.0 8 NaN NaN NaN NaN NaN NaN 220.0 250.0 280.0