Скажем, у меня есть мультиндекс 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
Python объединяет несколько DataFrames из памяти и выбивает их при сохранении границ мультиндекса ⇐ Linux
1752667815
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. Я уже вижу проблему с этим для данных данных, которые не масштабируются линейно на основе количества строк, хотя, например, если у меня были категориальные данные с множеством категорий относительно небольшого количества рядов.
Подробнее здесь: [url]https://stackoverflow.com/questions/79703383/python-merge-multiple-dataframes-out-of-memory-and-chunk-them-while-preserving-m[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия