Отладка PDB Python - перезапуск с определенной функции без повторного запуска всего модуля - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть набор данных строки 10M и набор данных строки 20k, к которым я использую две функции применения панд.Даже для подмножества (1 тыс. Строк) первая функция применения занимает несколько минут.Я хочу отладить вторую функцию применения, но без необходимости перезапускать весь модуль и каждый раз ждать несколько минут.Я прочитал документацию, но все еще не понимаю, как этого добиться.

Функции следующие:

Первая функция

def match_name(row, pubdf):
    # pdb.set_trace()
    if row is not None and row !='nan':
        minscore = 90
        choice, score = fwp.extractOne(row, pubdf)
        return choice if score > minscore else None
    else:
        return None

Вторая функция

def match_address(privrow):
    pdb.set_trace()
    minscore = 90
    if privrow.supplier_streetadd:
        if privrow.supplier_streetadd != 'nan':
            pub_addresses = [privrow.pub_streetadd1,
                             privrow.pub_streetadd2,
                             privrow.pub_streetadd3]
            choice, score = fwp.extractOne(privrow.supplier_streetadd, pub_addresses)
            return choice if score > minscore else None
    else:
        return None

Фрагменты, которые запускают эти:

tqdm.pandas()

priv_df['pub_org_name']=priv_df['supplier_name'].progress_apply(match_name, args=(list(pub_df['org_name']),))

priv_df['pub_streetaddress'] = priv_df.progress_apply(match_address, axis = 1)
...