серия orderedDict vs pandas


Все еще новичок в этом, извините, если я спрашиваю что-то действительно глупое. В чем разница между упорядоченным словарем питона и серией панд?

Единственное различие, которое я смог придумать, заключается в том, что orderedDict может иметь вложенные словари в данных. И это все? Это вообще правда?

Будет ли разница в производительности между использованием одного и другого?

Мой проект-это прогноз продаж, большинство данных будут примерно такими: {неделя 1: 400 единиц, Неделя 2 : 550 единиц}... Возможно, упорядоченный словарь будет избыточным, поскольку порядок ввода не имеет значения по сравнению с Неделей#?

Еще раз прошу прощения, если мой вопрос глуп, я просто пытаюсь быть тщательным, как я учусь.

Спасибо!

- Стивен

2 4

2 ответа:

Самое главное, что pd.Series является частью библиотеки pandas, поэтому она поставляется с большим количеством дополнительных функций-см. attributes и methods при прокрутке вниз pd.Series docs . Это сравнимо с OrderDict: docs .

Для вашего случая использования, использование pd.Series или pd.DataFrame (который может быть способом использования nested dictionaries, поскольку он имеет index и несколько columns), кажется вполне подходящим. Если вы посмотрите на документы pandas, вы также найдете довольно полную функциональность временных рядов, которая должна прийти удобно для проекта вокруг еженедельных прогнозов продаж.

Поскольку pandas построен на numpy, специализированном научном вычислительном пакете, производительность довольно хорошая.

Ordered dict реализован в составе Python collections lib. Эти коллекции являются очень быстрыми контейнерами для конкретных случаев использования. Если бы вы искали только функциональность, связанную со словарем (например, порядок в этом случае), я бы пошел на это. В то время как вы говорите, что собираетесь сделать более глубокий анализ в области, где панды действительно созданы (например, построение графиков, заполнение недостающих значений). Поэтому я бы рекомендовал вам отправиться за пандами.Серии.