垂直合并2个数据帧

2024-05-16 10:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧,每个数据帧有两列(相同的列名)。我想把它们垂直合并,最终得到一个新的数据帧。

做的时候

newdf = df.merge(df1,how='left',on=['Col1','Col2'])

新的df只有来自df的行,而没有来自df1的行。为什么会这样?

Col1    Col2
asd     1232
cac     2324
.....

df1是:

Col1    Col2
afaf    1213
asas    4353

新的数据帧newdf应该是:

Col1   Col2
asd     1232
cac     2324
afaf    1213
asas    4353

Tags: 数据dfonmergelefthowcol2col1
1条回答
网友
1楼 · 发布于 2024-05-16 10:23:26

如果不想按原样使用索引值,可以使用appendignore_index

In [14]: df1.append(df2)
Out[14]:
   Col1  Col2
0   asd  1232
1   cac  2324
0  afaf  1213
1  asas  4353

In [15]: df1.append(df2, ignore_index=True)
Out[15]:
   Col1  Col2
0   asd  1232
1   cac  2324
2  afaf  1213
3  asas  4353

或者使用pd.concat

In [16]: pd.concat([df1, df2])
Out[16]:
   Col1  Col2
0   asd  1232
1   cac  2324
0  afaf  1213
1  asas  4353

In [17]: pd.concat([df1, df2], ignore_index=True)
Out[17]:
   Col1  Col2
0   asd  1232
1   cac  2324
2  afaf  1213
3  asas  4353

相关问题 更多 >