2016-02-25 1 views
5

Надеюсь, это не звучит как открытый вопрос для обсуждения. Я собираюсь дать некоторые подробности для моего конкретного случая.Лучше хранить Pandas Data Frames в словаре или в панели?

Я новичок в Pandas, и мне нужно сохранить несколько 2D-массивов, где столбцы представляют частоты и строки, представляющие направления (спектры 2D-волн, если вам интересно). Каждый массив представляет определенное время.

Я храню эти массивы как панды DataFrames, но держать их в одном объекте я думал о 2-х вариантах:

  1. Хранения DataFrames в словаре, где ключ является меткой времени.

  2. Хранение DataFrames в панели Pandas, где элемент является меткой времени.

Первый вариант кажется простым и обладает гибкостью для хранения массивов с различными размерами, индексами и именами столбцов. Второй вариант выглядит лучше для обработки данных, так как панели имеют определенные методы, а также могут быть легко сохранены или экспортированы (например, в csv или pickle).

Какой из двух вариантов лучше всего подходит с точки зрения: скорости, использования памяти, гибкости и анализа данных?

С уважением

+0

pandas данныеframe. Я не вижу, как это не имеет гибкости, описанной для варианта 1. Возможно, простой повторяемый пример мог бы осветить вещи? – kilojoules

+0

Извините, я редактирую свой вопрос. Я не объяснил, что я уже хранил данные в Data Frames. Мой вопрос в том, что является лучшим вариантом для хранения DataFrames вместе в одном объекте. – jcdoming

+1

Вы считали, что вложенные кадры данных? – kilojoules

ответ

1

Я не думаю, что вам нужна панель. Я рекомендую подход вложенных данных.

+0

Извините. Не могли бы вы рассказать мне, как это сделать? Мне нужно добавить каждый фрейм данных в родительский фрейм внутри цикла, и он, похоже, не работает. Может быть, пример кода может помочь. Вот как я делаю это до сих пор, используя словари: 'E [даты] = pd.DataFrame (Aux, index = f, columns = dirs)'. Где * E * - словарь, * даты * - это float и * Aux *, * f * и * dirs * список. – jcdoming

+0

Простой и повторяемый пример упростит ответ. Какая ошибка возникает? В принципе, вы хотите, но 'NaN', где нет действительных записей. – kilojoules

 Смежные вопросы

  • Нет связанных вопросов^_^