我有两个数据帧,并且dataframe1(df1)中的每一行都可能与dataframe2(df2)中的一行相匹配。因此,我想创建一个最终的数据框,该数据框附加df1的每一行,并在每行下方附加df2中具有匹配单元格的行。目的是根据匹配列查找df1中有多少行在df2中具有候选对象。这是它的外观:
dataframe1
dataframe2
最终数据框
这是我生成的代码。效果很好,但是太慢了:
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)
我想知道是否有更快的方法将两个数据帧中的行追加到最后一个。谢谢您的帮助,不胜感激!
答案 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