Утечка памяти в pandas index.intersect? - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь вычислить пересечение двух мультииндикатов bsGroupIdx и shotsDiffand. Похоже, что метод index.intersect () вызывает утечку памяти.

 print( f"bsGroupIdx  {bsGroupIdx.nbytes/1e6} Mb")
 print( f"shotsDiff.index  {shotsDiff.index.nbytes/1e6} Mb")
 print( f"1 | process mem  {process.memory_info().rss/1e6} Mb")
 bsBinIdx   = bsGroupIdx.intersection(shotsDiff.index)
 print( f"2 | process mem  {process.memory_info().rss/1e6} Mb")

Вывод:

bsGroupIdx  3.36316 Mb
shotsDiff.index  0.083512 Mb
1 | process mem  10822.488064 Mb
2 | process mem  10840.846336 Mb

Таким образом, пересечение двух объектов размером ~ 3,5 Мбайт приводит к затратам мне ~ 18 мб памяти. Поскольку я делаю это в al oop, ситуация быстро взрывается.

Кто-нибудь знает, как с этим бороться? Может ли это быть связано с тем, что индекс является неизменным, как предлагается здесь? Утечка памяти в python pandas Индекс перестановки

Большое спасибо!

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