Jakie są różnice między Pandami a NumPy + SciPy w Pythonie? [Zamknięte]

195

Oba wydają się niezwykle podobne i jestem ciekawy, który pakiet byłby korzystniejszy dla analizy danych finansowych.

piRSquared
źródło

Odpowiedzi:

313

panda zapewnia narzędzia do manipulacji danymi wysokiego poziomu zbudowane na NumPy. NumPy samo w sobie jest narzędziem dość niskiego poziomu, podobnym do MATLAB. pandy z kolei zapewniają bogatą funkcjonalność szeregów czasowych, dostosowanie danych, statystyki przyjazne dla NA, metody grupowania, łączenia i łączenia oraz wiele innych udogodnień. W ostatnich latach stał się bardzo popularny w aplikacjach finansowych. W przyszłej książce będę miał rozdział poświęcony analizie danych finansowych z wykorzystaniem pand.

Wes McKinney
źródło
216
Powinieneś był wspomnieć, że jesteś głównym autorem pand. :) Książka, o której mowa: shop.oreilly.com/product/0636920023784.do
Yktula
3
Czy można uczciwie powiedzieć, że numpy zapewnia przede wszystkim wydajne tablice, podczas gdy pandy zapewniają wydajne słowniki? (W obu przypadkach ogranicza się to do spójnego typu danych, a nie formy swobodnej.) Dla mnie (dopiero zaczynam się temu przyglądać) uderza mnie podstawowa różnica: obsługa danych sparowanych z etykietą (w 1d aka i 2d aka tabele). Wyrównanie danych, łączenie itp. Stają się z tego powodu możliwe , ale dla osób, które nie rozumieją tej podstawowej różnicy, nie jest nawet jasne, co one oznaczają (np. Co to jest „wyrównanie danych” dwóch tablic numpy?).
Brandyn
6
może być głupie pytanie, ale co masz na myśli NA-friendly statistics, wymienione w odpowiedzi.
Adil Abbasi
6
Myślę, że odnosi się do statystyk uwzględniających brakujące dane (NA, „Niedostępne”)
user1319128
4
Zimny ​​wątek, ale co z różnicami wydajności, na przykład złożoną operacją w numpy, ale uproszczoną składniowo w pandach? Czy przejście na wysokopoziomową, łatwą ścieżkę składni wiąże się z obniżeniem wydajności?
3pitt
59

Numpy są wymagane przez pandy (i praktycznie wszystkie narzędzia numeryczne dla Pythona). Scipy nie jest ściśle wymagane w przypadku pand, ale jest wymienione jako „opcjonalna zależność”. Nie powiedziałbym, że pandy są alternatywą dla Numpy i / lub Scipy. Jest to raczej dodatkowe narzędzie, które zapewnia bardziej uproszczony sposób pracy z danymi liczbowymi i tabelarycznymi w Pythonie. Możesz używać struktur danych pand, ale swobodnie korzystać z funkcji Numpy i Scipy, aby nimi manipulować.

BrenBarn
źródło
4

Pandy to świetny sposób na manipulowanie tabelami, ponieważ możesz ułatwić binowanie ( binowanie ramki danych w pandach w Pythonie ) i obliczanie statystyk. Inną świetną rzeczą w pandach jest klasa Panel, w której można łączyć serie warstw o ​​różnych właściwościach i łączyć je za pomocą funkcji grupowania.

Jury Simoes-Sousa
źródło