【发布时间】:2017-05-02 02:18:01
【问题描述】:
我有 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
【问题讨论】:
-
你要
pd.concat([df1,df2]),这是一个很常见的问题,见docs,相关:stackoverflow.com/questions/11637384/…和stackoverflow.com/questions/15819050/… -
我忘了说concat返回:TypeError: first argument must be an iterable of pandas objects, you pass a object of type "DataFrame"
-
当您传递
how='left'时,这只会水平合并lhs 上那些列中的值,不清楚您真正想要什么。您可以尝试传递“外部”