серия orderedDict vs pandas
Все еще новичок в этом, извините, если я спрашиваю что-то действительно глупое. В чем разница между упорядоченным словарем питона и серией панд?
Единственное различие, которое я смог придумать, заключается в том, что orderedDict может иметь вложенные словари в данных. И это все? Это вообще правда?
Будет ли разница в производительности между использованием одного и другого?
Мой проект-это прогноз продаж, большинство данных будут примерно такими: {неделя 1: 400 единиц, Неделя 2 : 550 единиц}... Возможно, упорядоченный словарь будет избыточным, поскольку порядок ввода не имеет значения по сравнению с Неделей#?
Еще раз прошу прощения, если мой вопрос глуп, я просто пытаюсь быть тщательным, как я учусь.
Спасибо!
- Стивен
2 ответа:
Самое главное, что
pd.Seriesявляется частью библиотекиpandas, поэтому она поставляется с большим количеством дополнительных функций-см.attributesиmethodsпри прокрутке внизpd.Seriesdocs . Это сравнимо сOrderDict: docs .Для вашего случая использования, использование
pd.Seriesилиpd.DataFrame(который может быть способом использованияnested dictionaries, поскольку он имеетindexи несколькоcolumns), кажется вполне подходящим. Если вы посмотрите на документыpandas, вы также найдете довольно полную функциональность временных рядов, которая должна прийти удобно для проекта вокруг еженедельных прогнозов продаж.Поскольку
pandasпостроен наnumpy, специализированном научном вычислительном пакете, производительность довольно хорошая.
Ordered dict реализован в составе Python collections lib. Эти коллекции являются очень быстрыми контейнерами для конкретных случаев использования. Если бы вы искали только функциональность, связанную со словарем (например, порядок в этом случае), я бы пошел на это. В то время как вы говорите, что собираетесь сделать более глубокий анализ в области, где панды действительно созданы (например, построение графиков, заполнение недостающих значений). Поэтому я бы рекомендовал вам отправиться за пандами.Серии.