【发布时间】:2021-03-13 18:54:59
【问题描述】:
我有两个数据框 df1 和 df2 具有以下列:
A = ['id', 'a_id', 'c', 'd']
B = ['a_id', 'e', 'f']
对于df1 中的a_id 匹配df2 中的a_id,我需要将e 从df2 添加到df1 行。 Df1 大约有 700 万行,df2 大约是 15k。我尝试了下面的代码,但时间太长了。我想知道是否有更好的解决方案可以加快速度并提高内存效率。
def map_df(row):
for i, r in df2.iterrows():
if row['a_id'] == r['a_id']:
return row2['part_mean_correctness']
df1['e'] = df1.apply (lambda row: map_df(row), axis=1)
【问题讨论】: