Які відмінності між Pandas і NumPy + SciPy в Python? [зачинено]


195

Вони обидва здаються надзвичайно схожими, і мені цікаво, який пакет буде більш вигідним для аналізу фінансових даних.

Відповіді:


314

Панди надають інструменти для маніпулювання даними високого рівня, побудовані поверх NumPy. NumPy сам по собі є досить низьким рівнем інструменту, подібний до MATLAB. з іншого боку, панди надають багату функціональність часових рядів, вирівнювання даних, статистику, сприятливу для NA, груповий метод, методи злиття та з'єднання та безліч інших зручностей. Вона стала дуже популярною в останні роки у фінансових додатках. У моїй наступній книзі я матиму главу, присвячену аналізу фінансових даних з використанням панд.


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

3
Чи було б справедливо сказати, що numpy насамперед забезпечує ефективні масиви, тоді як панди надають ефективні словники? (В обох випадках, обмежений послідовним типом даних, а не вільною формою.) Для мене (я зараз починаю розбиратися в цьому), це вважає мене основною різницею: обробка даних, пов'язаних з мітками (в 1d aka dicts і 2d ака таблиці). Завдяки цьому вирівнювання даних, з'єднання даних тощо стають можливими , але людям, які не вирішують цю основну різницю, навіть не зрозуміло, що це означає (наприклад, що таке "вирівнювання даних" двох масивних масивів?).
Брандін

6
може бути непростим питанням, але що ви маєте на увазі NA-friendly statistics, про що йдеться у вашій відповіді.
Аділ Аббасі

6
Думаю, він посилається на статистику з урахуванням відсутніх даних (NA, "Недоступно")
user1319128

4
Холодна нитка, а як щодо відмінностей у виконанні, наприклад, складної операції в numpy, але синтаксично спрощеної в пандах? Чи є вартість продуктивності для проходження синтаксичного шляху високого рівня?
3pitt

59

Numpy потрібні панди (і практично всі цифрові інструменти для Python). Scipy не є строго необхідним для панд, але зазначений як "факультативна залежність". Я б не сказав, що панди є альтернативою Numpy та / або Scipy. Скоріше, це додатковий інструмент, який забезпечує більш обтічний спосіб роботи з числовими та табличними даними в Python. Ви можете використовувати структури даних панди, але вільно користуватися функціями Numpy і Scipy для маніпулювання ними.


4

Панди пропонують чудовий спосіб маніпулювати таблицями, оскільки ви можете зробити бінінг легким ( бінінг фрейму даних у пандах на Python ) та обчислення статистики. Інша річ, яка відмінно підходить для панд, - це клас Panel, що ви можете приєднати ряд шарів з різними властивостями та комбінувати їх за допомогою функції groupby.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.