Перебирать большое количество строк без ошибок памяти - PullRequest
0 голосов
/ 09 марта 2020

Я работаю над отменой поворота кадра данных pandas, и у меня возникает ошибка памяти, связанная со следующей строкой кода (в сочетании с предшествующей ей операцией melt ()):

delimited_table = df["value"].str.split(",", expand=True)

Фрейм данных выглядит примерно так:

+----------+--------+--+
| ContactID| value  |  |
+----------+--------+--+
| pd.Data  | A,C    |  |
| pd.Data  | D,E,F  |  |
| pd.Data  | G,H,I,K|  |
| ...      | ...    |  |
+----------+--------+--+

Вот точный код ошибки:

MemoryError: Unable to allocate array with shape (92, 12513354) and data type object

Моя проблема в том, что я не могу удалить строки, потому что это все необходимых данных, и df составляет 12,5 миллионов строк, поэтому, очевидно, взять весь столбец и поместить его в мою память (даже с 64-битной) не представляется возможным. Какими способами я могу выполнять итерацию строка за строкой в ​​pandas df, применять метод str.split и возвращать его как значения с разделителями, при этом убедившись, что число столбцов для всех строк одинаково для размещения расширения?

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