我有以下代码来迭代两个数据帧。
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多个记录,因此需要数小时才能完成。 任何有关有效编译代码的建议都将受到欢迎。 预先感谢
答案 0 :(得分:0)
如果我对您的理解正确,那么这应该对您有帮助。 eq()
通过检查值是否相等来返回True或False。
df2.loc[df1['df1_id'].eq(df2['df2_id']), 'count_col_df2'] = df1['count_col_df1']