Python – 如何沿列连接两个或多个Pandas数据框?
若要连接超过两个Pandas数据框,请使用concat()方法。将 axis 参数设置为 axis = 1 以沿列连接。首先导入所需的库 –
import pandas as pd
Python
让我们创建第一个数据框 –
dataFrame1 = pd.DataFrame(
{
"Col1": [10, 20, 30],"Col2": [40, 50, 60],"Col3": [70, 80, 90],
},
index=[0, 1, 2],
)
Python
让我们创建第二个数据框 –
dataFrame2 = pd.DataFrame(
{
"Col1": [100, 110, 120],"Col2": [130, 140, 150],"Col3": [160, 170, 180],
},
index=[3, 4, 5],
)
Python
让我们创建第三个数据框 –
dataFrame3 = pd.DataFrame(
{
"Col1": [200, 210, 220],"Col2": [230, 240, 250],"Col3": [260, 270, 280],
},
index=[6, 7, 8],
)
Python
使用concat()连接三个数据框,并将“axis = 1”设置为沿列连接 –
res = [dataFrame1, dataFrame2, dataFrame3]
pd.concat(res, axis=1))
Python
示例
以下是代码 –
import pandas as pd
# 创建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
# 创建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
# 连接超过3个数据框
# 将“axis = 1”设置为沿列连接
res = [dataFrame1, dataFrame2, dataFrame3]
print"\n 连接所有3个数据框(沿列)...\n", pd.concat(res, axis=1)
Python
输出
这将产生以下输出 –
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
连接所有3个数据框(沿列)...
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
Python