Скорость процесса чанка замедляется с каждым чанком - PullRequest
0 голосов
/ 27 июня 2019

Скорость обработки каждого куска замедляется на каждом следующем куске

Я попробовал процессные блоки с функциями Numpy.vectorize, но это не удалось

def f(s):

    try:
        a = s
        s = s.replace('\\',' ')
        s = s.replace('=',':')
        s = s.replace('true','1')
        s = s.replace('false','0')
        s = s.replace('}"','}')
        s = s.replace('"{','{')
        s = re.findall(r'my_reg',s)[0]
        s = s[6:]
    except:
        s = 'error'

    return s

df = read_csv('my_data',chunksize=700000)
columns = my_columns
for chunk in df:
    chunk.columns = columns
    chunk['my_col'].progress_apply(f)
    chunk.to_csv('my_name',mode=a)

Применение прогресса tqdm показывает мне:

100% | ████████████████████████████████████████████ ███ | 700000/700000 [15:38 <00:00, 745,61it / s] </p>

100% | ████████████████████████████████████████████ ███ | 700000/700000 [42:13 <00:00, 276,32it / s] </p>

100% | ████████████████████████████████████████████ ███ | 700000/700000 [41:33 <00:00, 280,75it / s] </p>

100% | ████████████████████████████████████████████ ███ | 700000/700000 [46:43 <00:00, 249,73it / s] </p>

100% | ████████████████████████████████████████████ ███ | 700000/700000 [51:04 <00:00, 216,10it / s] </p>

и через несколько кусков:

100% | ████████████████████████████████████████████ ██ | 700000/700000 [2:42:07 <00:00, 53,75it / s] </p>

...