Python объединяет несколько DataFrames из памяти и выбивает их при сохранении границ мультиндексаLinux

Ответить
Anonymous
 Python объединяет несколько DataFrames из памяти и выбивает их при сохранении границ мультиндекса

Сообщение Anonymous »

Скажем, у меня есть мультиндекс DataFrame с индексом LEV1, LEV2, LEV3 , который создается путем объединения 3 наборов данных с индексами [LEV1] , [LEV1, LEV2] и [LEV1, LEV2, LEV3] . Объединенные данные о данных слишком велик, чтобы вписаться в память. Я хочу передать целевой размер памяти, скажем, 100 МБ, и иметь список возврата функции [pd.dataframe] = df_chunked [df_chunk_1, ..., df_chunk_n], где каждый из кусочков меньше 100 МБ, и ни один из кусочков не имеет индексов, разделяющихся по границам. Или он может рассчитывать, что я могу использовать, чтобы использовать для конструирования для конструирования для конструирования для конструирования). />>df_components=[df1,df2,df3] # number of merged data frames is arbitrary here, 3 is example
# also can assume df are in order of increasing number of indexes

df_chunklist = chunkdf(df_components,target_size="100mb") # can also just be bytesize as int if easier
-> [df_1,df_2,df_3,df_4,df_5] # total dataset size 284mb, returns 4 chunks so each chunk < 100mb
< /code>
Я хочу убедиться, что чего-то еще не существует, прежде чем я переопределяю колесо. Если мне нужно сделать это сам, мой мыслительный процесс состоит в том, чтобы запрашивать размер каждого столбца на каждом раме данных (или, может быть, общего размера каждого DF), а затем объединить только индекс, поэтому я знаю, сколько дублирующих строк я получу для индексов более низкого уровня, а затем отрегулируйте размер по относительному соотношению рядов в каждом субдаме. Затем я мог бы разобраться в DF1 на основе смещений строк, которые я рассчитал, и объединить другие полные данные о данных на каждый кусок DF1. Я уже вижу проблему с этим для данных данных, которые не масштабируются линейно на основе количества строк, хотя, например, если у меня были категориальные данные с множеством категорий относительно небольшого количества рядов.

Подробнее здесь: https://stackoverflow.com/questions/797 ... eserving-m
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»