Quais são as diferenças entre Pandas e NumPy + SciPy em Python? [fechadas]

195

Ambos parecem extremamente semelhantes e estou curioso para saber qual pacote seria mais benéfico para a análise de dados financeiros.

piRSquared
fonte

Respostas:

313

O pandas fornece ferramentas de manipulação de dados de alto nível construídas sobre o NumPy. O NumPy por si só é uma ferramenta de nível bastante baixo, semelhante ao MATLAB. pandas, por outro lado, oferece rica funcionalidade de séries temporais, alinhamento de dados, estatísticas favoráveis ​​a NA, agrupamento, mesclagem e junção de métodos e muitas outras conveniências. Tornou-se muito popular nos últimos anos em aplicações financeiras. Terei um capítulo dedicado à análise de dados financeiros usando pandas no meu próximo livro.

Wes McKinney
fonte
216
Você deveria ter mencionado que é o principal autor dos pandas. :) O livro em questão: shop.oreilly.com/product/0636920023784.do
Yktula
3
Seria justo dizer que o numpy fornece principalmente matrizes eficientes, enquanto o pandas fornece dicionários eficientes? (Nos dois casos, limitado ao tipo de dados consistente, e não ao formato livre.) Para mim (estou começando a analisar agora), isso me parece a diferença subjacente: manipulação de dados emparelhados com rótulo (em 1d aka dicts e Tabelas 2d aka). O alinhamento de dados, a junção etc. tudo se torna possível devido a isso, mas para as pessoas que não entendem essa diferença subjacente, nem fica claro o que isso significa (por exemplo, o que é "alinhamento de dados" de duas matrizes numpy?).
22414 Brandyn
6
Pode ser uma pergunta boba, mas como assim NA-friendly statistics, mencionada na sua resposta.
Adil Abbasi 16/09
6
Eu acho, ele refere-se a estatísticas tendo em conta os dados em falta (NA, "não disponível")
user1319128
4
Fio frio, mas e as diferenças de desempenho com uma operação complexa em numpy, por exemplo, mas simplificada sintaticamente em pandas? Existe um custo de desempenho para o caminho fácil e de alto nível da sintaxe?
3pitt
59

O numpy é exigido pelos pandas (e por praticamente todas as ferramentas numéricas do Python). O Scipy não é estritamente necessário para pandas, mas é listado como uma "dependência opcional". Eu não diria que os pandas são uma alternativa ao Numpy e / ou ao Scipy. Em vez disso, é uma ferramenta extra que fornece uma maneira mais simplificada de trabalhar com dados numéricos e tabulares no Python. Você pode usar estruturas de dados do pandas, mas utilizar livremente as funções Numpy e Scipy para manipulá-las.

BrenBarn
fonte
4

O Pandas oferece uma ótima maneira de manipular tabelas, pois você pode facilitar o binning ( binning um quadro de dados em pandas no Python ) e calcular estatísticas. Outra coisa excelente nos pandas é a classe Panel, na qual é possível juntar séries de camadas com propriedades diferentes e combiná-las usando a função groupby.

iury simoes-sousa
fonte