如何有效地遍历两个数据框以比较列和填充数据

时间:2020-03-04 12:50:30

标签: python pandas performance dataframe time-complexity

我有以下代码来迭代两个数据帧。

for i, row in df1.iterrows():
    for j, innerrow in df2.iterrows():
        if row["df1_id"] == innerrow["df2_id"]:
            df1.at[i,"count_col_df1"] = innerrow["count_col_df2"]

在这里,完成ID列的比较,以填充df2中df1中一列的数据。 由于每个数据帧中有10,000多个记录,因此需要数小时才能完成。 任何有关有效编译代码的建议都将受到欢迎。 预先感谢

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,那么这应该对您有帮助。 eq()通过检查值是否相等来返回True或False。

df2.loc[df1['df1_id'].eq(df2['df2_id']), 'count_col_df2'] = df1['count_col_df1']
相关问题