# Pandas (software)

Em programação de computadores, pandas é uma biblioteca de software criada para a linguagem Python para manipulação e análise de dados. Em particular, oferece estruturas e operações para manipular tabelas numéricas e séries temporais. É software livre sob a licensa licença BSD. O nome é derivado do termo inglês "panel data"(dados em painel), um termo usado em estatística e econometria para conjunto de dados que incluem várias unidades amostrais (indivíduos, empresas, etc) acompanhadas ao longo do tempo.

## Características

* Uso do objeto "DataFrame" para manipulação de dados, com indexação integrada.
* Ferramentas para ler e escrever dados entre diferentes estruturas de dados e formatos de arquivo.
* Alinhamento de dados e manipulação de dados ausentes.
* Reformatação e pivoteamento de matrizes (dados).
* Divisão (slicing), fancy indexing, e subsettingde grandes conjuntos de dados.
* Inserir e deletar colunas em conjuntos de dados.
* Ferramentas para fundir(merging) ou juntar(join) conjuntos de dados.
* funcionalidade para séries temporais (time series): Geração de intervalo de datas(date range) e conversão de frequência, estatística móvel, regressão linear, entre outras.
* Filtração e limpeza de dados.
Altamente otimizada para performance, a biblioteca pandas tem fortes bases nas linguagens Cython e C.

## Dataframes

Pandas é principalmente usado para machine learning(aprendizado de máquina), pela facilidade que o objeto dataframes oferece. Pandas permite a importação de diferentes formatos de arquivo, como csv e excel, para a leitura em dataframes. Também permite diversas operações de álgebra relacional, como projeção, junção, e concatenação, e também funções de limpeza, como por exemplo o preenchimento, substituição ou inserção de valores nulos (null).

### Indexando DataFrames

Existem várias maneiras de indexar um DataFrame do Pandas. Uma das maneiras mais fáceis de fazer isso é usando a notação de colchetes.
No exemplo abaixo, você pode usar colchetes para selecionar uma coluna do DataFrame de carros. Você pode usar um colchete único ou duplo. O suporte único produzirá uma série Pandas, enquanto um suporte duplo produzirá um DataFrame Pandas.

### Funções
#### Fusão de DataFrames

Para realizar a mesclagem de objetos (estruturas de dados - Dataframes) utilizados ao programar em Python, utilizando a biblioteca para análise de dados Pandas, é necessário que suas estrutura de dados possuam pelo menos uma coluna em comum com dados equivalentes ou iguais. A função pd.merge do Pandas, se baseia em verificar se um determinado registro de uma coluna do Dataframe X é igual a do Dataframe Y e, caso sejam as demais colunas do registro se unem para formar uma nova estrutura com todas as informações identificadas naquela linha. Vale ressaltar que, essa mescla de informações é feita de maneira automatizada no objeto como um todo, sem a necessidade de iteração entre as linhas do Dataframe.

#### Exemplo de uso
## História

O desenvolvedor Wes McKinney começou a desenvolver a Pandas em 2008, enquanto trabalhava na empresa AQR Capital Management. A ideia veio quando ele percebeu a necessidade de uma ferramenta flexível e de alta performance para realizar análise quantitativa em dados financeiros. Antes de deixar a AQR, Wes conseguiu convencer a direção da empresa a permití-lo liberar a biblioteca como open-source.
Outro funcionário da AQR, o desenvolvedor Chang She, se tornou em 2012 o segundo maior contribuidor para a biblioteca Pandas.