Я пытаюсь создать больше переменных для своего набора данных. Мои данные хранятся в нескольких файлах, и, используя pandas, я могу прочитать только один файл за раз из-за ограничений памяти. Каждый файл csv содержит данные за один месяц и выглядит примерно так:
Index Date Sender Recipient Quantity Type
------------------------------------------------------------------------
79XT 26-03-19 Adam Tiffany 72 Box
57ZY 14-03-19 Josh Ross 13 Snack
29UQ 19-03-19 Adam Alex 60 Fruit
56PY 06-03-19 Lucy Alex 29 Book
41BR 28-03-19 Josh Steve 33 Snack
Теперь я пытаюсь создать больше функций для каждой строки на основе истории каждого отправителя и присоединить эти функции к фрейму данных . Например:
Index Date Sender Recipient Quantity Type Days Since Days Since Cumulative Quantity Increase First Shipment
Previous Shipment First Shipment Quantity from Previous Shipment to This Recipient?
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
79XT 26-03-19 Adam Tiffany 72 Box 7 62 1792 12 0
57ZY 14-03-19 Josh Ross 13 Snack NaN NaN 13 NaN 1
29UQ 19-03-19 Adam Alex 60 Fruit 5 55 1730 -7 1
56PY 06-03-19 Lucy Alex 29 Book 23 32 88 -4 0
41BR 28-03-19 Josh Steve 33 Snack 14 14 46 20 1
Как видно из желаемого фрейма данных выше, новые переменные генерируются на основе предыдущих наблюдений отправителя. Какой способ создания таких характеристик является наименее затратным в вычислительном отношении? Мне нужно будет получить информацию из всех моих ежемесячных CSV-файлов, чтобы собрать такие данные. Существует более 200 000 уникальных отправителей, поэтому на чтение файлов csv и создание фрейма данных и файла csv для каждого уникального отправителя и объединения этих данных с ежемесячными файлами csv потребуются недели. Мне известно о распространении dask и dask, но я хочу узнать, есть ли для меня более простой способ реализовать то, что я пытаюсь сделать.