Итерация по нескольким панам данных медленная - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь найти количество похожих слов для всех строк в Dataframe1 для каждой отдельной строки со словами в Dataframe 2.

На основе сходства я хочу создать новый фрейм данных с where
столбцы = N строк кадра данных2
значения = сходство.

Мой текущий код работает, но работает очень медленно.Я не уверен, как его оптимизировать ...

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,))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...