MemoryError при объединении двух фреймов данных с питоном - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть два огромных кадра данных: Первый кадр данных: limdata

        SACC_ID     OPPLINE_LINE_ID     OPP_CREATION_DATE
    0   001A000000qqefQIAQ  a0W1200000F5TWOEA3  2015-01-09
    1   001A000000siuo7IAA  a0W1200000JEmTdEAL  2017-01-02
    2   001A000000qqCDcIAM  a0W1200000H3FYTEA3  2016-01-15
    3   001A0000014MJgpIAG  a0W1200000F5TW9EAN  2015-01-09
    4   001A000000ZdyuMIAR  a0W1200000H11lHEAR  2015-12-10
    5   001A000000aOmo4IAC  a0W1200000H11n3EAB  2015-12-10
    6   001A000000v6diCIAQ  a0W1200000HkwfzEAB  2016-05-02
    .....
    151185  001A000000skyIMIAY  a0WA000000EMTouMAH  2014-09-12

и второй фрейм данных с именемstist

SACC_PS     CASE_ID     CREATION_DATE
    0   0011200001K64ncAAB  5001200000eXVMvAAO  2017-01-25 05:00:07
    1   001A000000iUrwSIAS  5001200000eX7FMAA0  2017-01-25 05:06:38
    2   001A0000011lNmnIAE  5001200000Xyi38AAB  2016-03-04 13:02:19
    3   001A000000aOlebIAC  5001200000XyE0TAAV  2016-03-04 13:02:09
    5   001A0000013XIPoIAO  5001200000XyG0LAAV  2016-03-04 13:02:12
    7   001A000000aOkIoIAK  5001200000XyLT3AAN  2016-03-04 13:02:12
    9   001A000000m5pCAIAY  5001200000XyKhsAAF  2016-03-04 13:02:12
    11  001A000000yLcL4IAK  5001200000Xyg2wAAB  2016-03-04 13:02:12
    ....
    12473746    001A000000aOkumIAC  5001200000gXsWHAA0  2017-05-02 16:20:59

Я пытаюсь объединить эти два кадра данных, используя следующую строку кода:

case = pd.merge(limdata, hist, left_on='SACC_ID',right_on='SACC_PS')

Но я получил эту ошибку, связанную с памятью:

MemoryError Traceback (самый последний вызов последний) в () ----> 1 case = pd.merge (limdata, hist, left_on = 'SACC_ID', right_on = 'SACC_PS')

~ / anaconda3 / envs / python3 / Библиотека / python3.6 / сайт-пакеты / панды / ядро ​​/ изменить / merge.py в слиянии (влево, вправо, как, на, left_on, right_on, left_index, right_index, сортировка, суффиксы, копирование, индикатор, проверка) 56 копировать = копировать, индикатор = индикатор, 57 проверить = подтвердить) ---> 58 return op.get_result () 59 60

~ / anaconda3 / envs / python3 / Библиотека / python3.6 / сайт-пакеты / панды / ядро ​​/ изменить / merge.py в get_result (самостоятельно) 594 [(ldata, lindexers), (rdata, rindexers)], 595 осей = [llabels.append (rlabels), join_index], -> 596 concat_axis = 0, copy = self.copy) 597 598 typ = self.left._constructor

~ / anaconda3 / envs / python3 / Библиотека / python3.6 / сайт-пакеты / панды / ядро ​​/ internals.py в concatenate_block_managers (mgrs_indexers, оси, concat_axis, copy) 5201 иначе: 5202 b = make_block ( -> 5203 concatenate_join_units (join_units, concat_axis, copy = copy), 5204 размещение = размещение) 5205 блоков.append (б)

~ / anaconda3 / envs / python3 / Библиотека / python3.6 / сайт-пакеты / панды / ядро ​​/ internals.py в concatenate_join_units (join_units, concat_axis, copy) 5336
concat_values ​​= to_concat [0] 5337, если копировать и concat_values.base не является None: -> 5338 concat_values ​​= concat_values.copy () 5339 else: 5340 concat_values ​​= _concat._concat_compat (to_concat, axis = concat_axis)

MemoryError:

Можете ли вы помочь мне решить эту проблему? Заранее спасибо

Bests

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...