Чем отличаются Pandas от NumPy + SciPy в Python? [закрыто]


195

Они оба кажутся чрезвычайно похожими, и мне любопытно, какой пакет будет более полезным для анализа финансовых данных.

Ответы:


314

Pandas предоставляет высокоуровневые инструменты для работы с данными, построенные на основе NumPy. NumPy - довольно низкоуровневый инструмент, похожий на MATLAB. Pandas, с другой стороны, предоставляет богатые функциональные возможности временных рядов, выравнивание данных, удобную для статистики статистику, методы группового объединения, слияния и объединения, а также множество других удобств. Это стало очень популярным в последние годы в финансовых приложениях. В моей следующей книге у меня будет глава, посвященная анализу финансовых данных с использованием панд.


217
Вы должны были упомянуть, что вы являетесь основным автором панд. :) Книга, о которой идет речь: shop.oreilly.com/product/0636920023784.do
— Иктула

3
Было бы справедливо сказать, что numpy в первую очередь предоставляет эффективные массивы, тогда как pandas предоставляет эффективные словари? (В обоих случаях это ограничено согласованным типом данных, а не свободной формой.) Для меня (я сейчас только начинаю изучать это), это поражает меня как основное различие: обработка данных, связанных с метками (в 1d, иначе: dicts и 2д ака таблицы). Благодаря этому становится возможным выравнивание данных, объединение и т. Д. , Но для людей, которые не понимают, что это основное различие, даже не ясно, что они означают (например, что такое «выравнивание данных» двух пустых массивов?).
— Брандин

6
может быть глупый вопрос, но что вы подразумеваете под NA-friendly statisticsупомянутым в вашем ответе?
— Адиль Аббаси

6
Я думаю, он ссылается на статистику, учитывающую отсутствующие данные (NA, «Недоступно»)
— user1319128 22.09.16

4
Холодная нить, но как насчет различий в производительности, например, сложной операции в numpy, но синтаксически упрощенной в пандах? Есть ли затраты на производительность, чтобы перейти на простой синтаксический путь высокого уровня?
— 3pitt

59

Numpy требуется пандами (и практически всеми числовыми инструментами для Python). Scipy не является обязательным требованием для панд, но указан как «необязательная зависимость». Я бы не сказал, что панды - это альтернатива Нампи и / или Сципи. Скорее, это дополнительный инструмент, который обеспечивает более упорядоченный способ работы с числовыми и табличными данными в Python. Вы можете использовать структуры данных Pandas, но свободно использовать функции Numpy и Scipy для управления ими.


4

Pandas предлагают отличный способ манипулирования таблицами, поскольку вы можете упростить биннинг ( бин для данных в pandas в Python ) и вычислять статистику. Еще одна вещь, которая хороша в pandas - это класс Panel, в котором вы можете объединять серии слоев с разными свойствами и комбинировать их с помощью функции groupby.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.