根据特定条件,将两个独立的熊猫数据框的行追加到一个数据框

时间:2019-10-03 20:35:08

标签: python pandas dataframe append

我有两个数据帧,并且dataframe1(df1)中的每一行都可能与dataframe2(df2)中的一行相匹配。因此,我想创建一个最终的数据框,该数据框附加df1的每一行,并在每行下方附加df2中具有匹配单元格的行。目的是根据匹配列查找df1中有多少行在df2中具有候选对象。这是它的外观:

dataframe1

1

dataframe2

2

最终数据框

final

这是我生成的代码。效果很好,但是太慢了:

for i, y in df1.iterrows():
    final = final.append(df1.loc[i])
    final = final.append(df2.loc[

        (df2.column1 == df2.loc[i, "column1"]) | 
        (df2.column2 == df2.loc[i, "column2"]) 

     ], sort = True)

我想知道是否有更快的方法将两个数据帧中的行追加到最后一个。谢谢您的帮助,不胜感激!

1 个答案:

答案 0 :(得分:0)

希望这会有所帮助,

df_merged = pd.merge(df1,df2,how='inner',left_on=['Number'],right_on=['Number']) #merging both dataframes together
len(df_merged) #getting number of observations in the merged dataset