簡體   English   中英

根據特定條件將來自兩個單獨的 pandas 數據幀的行附加到一個 dataframe

[英]Appending rows from two separate pandas dataframes onto one dataframe based on certain conditions

我有兩個數據框,dataframe1 (df1) 中的每一行都可能與 dataframe2 (df2) 中的一行匹配。 所以我想創建一個最終的 dataframe 附加 df1 的每一行,並在每一行下,附加來自 df2 的具有匹配單元格的行。 目標是根據匹配列找出 df1 中有多少行在 df2 中有候選。 以下是它的外觀:

數據框1

1

數據框2

2

最終 dataframe

最后

這是我生成的代碼。 它運行良好,但速度太慢了:

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)

我想知道是否有更快的方法將 append 行從兩個數據幀到最后一個數據幀。 感謝您的幫助,非常感謝!

希望這可以幫助,

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM