This question already has answers here:
Pandas join/merge/concat two dataframes
(2个答案)
4年前关闭。
我有2个数据框,每个框有2列(相同的列名)。我想垂直合并它们,最终得到一个新的数据框。
做的时候
新的df仅包含
且
新的数据帧
或使用
(2个答案)
4年前关闭。
我有2个数据框,每个框有2列(相同的列名)。我想垂直合并它们,最终得到一个新的数据框。
做的时候
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
最佳答案
如果您不想按原样使用索引值,则可以使用append
和ignore_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