Introdução a Pandas para Usuários de Excel

Para aqueles que vivem em um relacionamento sério com o Microsoft Excel.

Pandas é capaz de fazer tudo que o Excel pode fazer e muito mais, de forma mais rápida, mais flexível e totalmente reprodutível. Continuo aprendendo algo novo sobre pandas todos os dias, mas ainda não cheguei ao nível de intimidade que tive com o Excel. Quem me dera.

A funções mais comuns no Excel reproduziadas em Pandas:

  1. Carregamento dados com pd.read_csv()
  2. Acessar linhas e colunas com .loc[] e .iloc[]
  3. Estatísticas de Resumo com .describe([])
  4. Filtros .isin([])
  5. Classificação de dados com .sort_values([])
  6. Tabelas dinâmica com pd.pivot_table([])
  7. ProcV ccom pd.merge() e join()

1. Carregando dados

Excel: Os dados são representados em uma folha de Excel com colunas, linhas e células. Podemos ter folhas diferentes para diferentes conjuntos de dados.

Pandas: Uma “tabela” de dados é armazenada em um DataFrame. Podemos criar um DataFrame do zero ou, mais comumente, importar os dados de um arquivo csv:

As colunas serão rotuladas como estavam no CSV. As linhas também são rotuladas com identificadores exclusivos, chamados de “index”. Selecionamos a coluna School_ID para servir como índice, já que cada ID escolar identifica exclusivamente uma fila escolar.

Se não declararmos explicitamente uma coluna para usar como índice ao carregar o csv, pandas gerariam automaticamente um índice que rotula as linhas a partir de 0.

Para visualizar rapidamente a parte superior de um quadro de dados:

2. Acessando dados

Excel: Uma vanagem do Excel é que os dados estão sempre à nossa frente. Usamos pontos básicos e clique em comandos ou atalhos de teclado para selecionar dados.

Pandas: Existem algumas maneiras diferentes de acessar linhas, colunas e células específicas.

Para acessar uma coluna individual, use colchetes. A saída é um objeto Series, que é uma matriz unidimensional, uma coluna única do excel:

Para acessar várias colunas, especifique uma lista de nomes de colunas. A saída agora é um DataFrame:

Podemos acessar uma linha pelo seu rótulo de índice com .loc:

Também podemos especificar o número da linha com .iloc m vez disso:

Para acessar uma célula específica, basta subconjunto por linha e coluna:

3. Estatísticas de Resumo Básico

Excel: Com excel basta aplicar funções de contagem, média, mediana, percentil,etc. entre colunas ou linhas desejadas.

Pandas: Basta apenas o método .describe() pode exibir estatísticas de resumo para uma lista de colunas selecionadas ou DataFrame completo. Os tipos de estatísticas fornecidas dependerão dos tipos de dados dtypes das colunas.

As colunas aplicar contagem, média, desvio-padrão, min, max e inferior, 50, e percentis superiores:

4. Filtragem

Excel: Aplicar iltros nas colunas para subconjunto de dados por um valor específico ou por alguma condição.

Pandas: Usar subjconjuntos de DataFrame por alguma condição. Primeiro, aplicamos uma declaração condicional a uma coluna e obtemos uma série de booleanos verdadeiros/falsos.

Em seguida, colocamos esses resultados em colchetes para indicar um subconjunto do DataFrame para apenas linhas que atendam à condição.

Por exemplo, filtrar o DataFrame para escolas que são do tipo “Charter”:

Podemos procurar vários valores em uma coluna, como as escolas “Charter” e “Magnet”, usando o método isin:

Filtro para escolas com taxas de resposta de pesquisa estudantil de pelo menos 80%:

Podemos combinar múltiplas condições com & e |:

5. Classificação

Excel: Classificar os dados por uma determinada coluna ou conjunto de colunas.

Pandas: Classificar os dados usando o método sort_values. Por exemplo, classifique alfabeticamente pelo nome do ensino fundamental/médio/médio e escolar:

6. Tabelas Dinâmicas

Excel: Tabela dinâmica é uma das principais ferramentas no Excel. As funções de arrastar e soltar facilitam a agregação e filtragem dos dados de qualquer forma. Aqui está uma tabela dinâmica de exemplo agrupa por:

  • School_Type nas linhas
  • Primary_Category nas colunas,
  • calcula a média School_Survey_Student_Response_Rate_Pct dentro da tabela.

Pandas: Podemos produzir a mesma mesa em Pandas usando a função pivot_table. O DataFrame resultante não é tão bonito, mas faz o trabalho!

8. ProcV

Excel: Em poucas palavras, a função VLOOKUP busca um valor específico em uma variedade de células e, em seguida, retorna um valor que está na mesma linha de onde o valor é encontrado.

Poderíamos trazer esses dados criando uma coluna de VLOOKUPs, usando School_ID como o valor de pesquisa:

Pandas: Juntar dois conjuntos de dados é muito mais simples em Pandas. Há uma tonelada de coisas que podemos fazer com dataFrames, e você pode encontrar alguns grandes exemplos de mesclagens, adesões e concatenações aqui.

Por enquanto, vamos usar Pandas para replicar o exemplo VLOOKUP acima. A função de fusão nos permite combinar os dois conjuntos de dados usando seus índices (School_ID) como uma espécie de “valor de pesquisa”.

Nota: como=’right’ garante que estamos capturando todos os IDs escolares a partir do DataFrame do segundo/direito (SY1617); isso é semelhante a uma junta externa direita em SQL.

Alternativamente, uma vez que School_ID é o índice para ambos os DataFrames, podemos usar o método de adesão para alcançar os mesmos resultados:

Usando mesclagens e adesões, podemos facilmente puxar o máximo de colunas dos dados do ano anterior, conforme necessário.

Estas são apenas algumas das muitas úteis pelas quais os Pandas podem executar a funcionalidade do Excel, e muito mais.

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store