Какие дополнительные данные хранятся в объектах Series и DataFrame? - PullRequest
1 голос
/ 24 марта 2012

Я заинтересован в настройке или исправлении панд так, чтобы их память была как можно меньше. В эксперименте я создал 2 массива numy, каждый из которых содержит 50 миллионов значений uint32. Хранение этих массивов в цифровом формате требует 200 + 200 = 400 Мбайт. Если я оберну один из массивов в объект Series (с индексом = None), то он потребляет ~ 600 Мбайт памяти. Если я оберну эти два массива в объект DataFrame (с индексом = Нет), то требование к памяти составит ~ 1600 Мбайт.

Кажется, что дополнительное требование к памяти составляет #rows * 8 байт для хранения Series и #rows * (#columns + 1) * 8 байт для хранения DataFrame. Можете ли вы объяснить, какие дополнительные данные в точности хранятся в Series и объекте DataFrame вместе с исходными массивами numpy?

1 Ответ

1 голос
/ 25 марта 2012

Дополнительное хранилище связано с тем, что индексы строк хранятся в виде 64-разрядных целых чисел. Существует открытая проблема для решения этой проблемы использования памяти для вашего варианта использования: https://github.com/pydata/pandas/issues/939

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