首页 > 解决方案 > 迭代多个熊猫数据帧很慢

问题描述

我正在尝试查找 Dataframe1 中所有行的相似词的数量,其中每行包含 Dataframe 2 中的单词。

基于相似性,我想创建一个新的数据框,其中
列 = N 行 dataframe2
值 = 相似性。

我当前的代码正在运行,但运行速度非常慢。不知道怎么优化。。。

df = pd.DataFrame([])

for x in range(10000):
    save = {}  
    terms_1 = data['text_tokenized'].iloc[x]
    save['code'] = data['code'].iloc[x]

    for y in range(3000):
        terms_2 = data2['terms'].iloc[y]
        similar_n = len(list(terms_2.intersection(terms_1)))
        save[data2['code'].iloc[y]] = similar_n

    df = df.append(pd.DataFrame([save]))

更新:新代码(仍然运行缓慢)

def get_sim(x, terms):
    similar_n = len(list(x.intersection(terms)))
    return similar_n

for index in icd10_terms.itertuples():
    code,terms = index[1],index[2]
    data[code] = data['text_tokenized'].apply(get_sim, args=(terms,))

标签: pythonpandas

解决方案


推荐阅读