Tutorial de pandas em python

Tutorial de pandas em python
Nesta lição da biblioteca Python Pandas, examinaremos diferentes estruturas de dados que este pacote Python fornece funcionalidades rápidas de processamento de dados que são eficientes para dados dinâmicos e gerenciando operações complexas em relação a dados multidimensionais. Nesta lição, abordaremos principalmente:
  • O que é o pacote de pandas
  • Instalação e início
  • Carregando dados de CSVs no DataFrame de pandas
  • O que é dataframe e como funciona
  • Fluiing DataFrames
  • Operações matemáticas sobre dados de dados

Isso parece muito para cobrir. Vamos começar agora.

O que é pacote Python Pandas?

De acordo com a página inicial dos pandas: os pandas são uma biblioteca de código aberto e licenciado por BSD, fornecendo estruturas de dados de alto desempenho e fácil de usar e ferramentas de análise de dados para a linguagem de programação Python.

Uma das coisas mais legais sobre os pandas é que ele torna a leitura dados de formatos de dados comuns como CSV, SQL etc. Muito fácil, o que o torna igualmente utilizável em aplicações de grau de produção ou apenas alguns aplicativos de demonstração.

Instale o Python Pandas

Apenas uma nota antes de iniciar o processo de instalação, usamos um ambiente virtual para esta lição que fizemos com o seguinte comando:

Python -M Virtualenv Pandas
Fonte pandas/bin/ativar

Depois que o ambiente virtual estiver ativo, podemos instalar a biblioteca Pandas dentro do Env virtual, para que exemplos que criamos a seguir possam ser executados:

pip install pandas

Ou, podemos usar o CONDA para instalar este pacote com o seguinte comando:

PANDAS DE INSTALA DO CONDA

Vemos algo assim quando executamos o comando acima:

Depois que a instalação é concluída com o CONDA, poderemos usar o pacote em nossos scripts Python como:

importar pandas como PD

Vamos começar a usar pandas em nossos scripts agora.

Lendo o arquivo CSV com pandas dados de dados

Ler um arquivo CSV é fácil com pandas. Para demonstração, construímos um pequeno arquivo CSV com o seguinte conteúdo:

Nome, rollno, data de admissão, contato de emergência
Shubham, 1,20-05-2012.9988776655
Gagan, 2.20-05-2009.8364517829
Oshima, 3.20-05-2003.5454223344
Vyom, 4.20-05-2009.1223344556
Ankur, 5,20-05-1999.9988776655
Vinod, 6,20-05-1999.9988776655
Vipin, 7,20-05-2002.9988776655
Ronak, 8,20-05-2007.1223344556
DJ, 9,20-05-2014.9988776655
VJ, 10,20-05-2015.9988776655

Salve este arquivo no mesmo diretório do script python. Depois que o arquivo estiver presente, adicione o seguinte snippet de código em um arquivo python:

importar pandas como PD
alunos = Pd.read_csv ("estudantes.CSV ")
alunos.cabeça()

Depois de executar o trecho de código acima, veremos a seguinte saída:

A função Head () em pandas pode ser usada para mostrar uma amostra de dados presentes no quadro de dados. Espere, DataFrame? Estudaremos muito mais sobre dados de dados na próxima seção, mas apenas entendemos que um quadro de dados é uma estrutura de dados N-dimensional que pode ser usada para manter e analisar ou operações complexas sobre um conjunto de dados.

Também podemos ver quantas linhas e colunas os dados atuais têm:

alunos.forma

Depois de executar o trecho de código acima, veremos a seguinte saída:

Observe que os pandas também contam o número de linhas a partir de 0.

É possível obter apenas coluna em uma lista com pandas. Isso pode ser feito com a ajuda de indexação em pandas. Vejamos um trecho de código curto para o mesmo:

student_names = alunos ['nome']
Student_Names

Depois de executar o trecho de código acima, veremos a seguinte saída:

Mas isso não parece uma lista, faz isso? Bem, precisamos chamar explicitamente uma função para converter este objeto em uma lista:

student_names = student_names.listar()
Student_Names

Depois de executar o trecho de código acima, veremos a seguinte saída:

Apenas para obter informações extras, podemos garantir que cada elemento da lista seja único e escolhemos apenas elementos não vazios, adicionando alguns cheques simples como:

student_names = alunos ['nome'].Dropna ().exclusivo().listar()

No nosso caso, a saída não mudará, pois a lista já não contém valores sujos.

Também podemos criar um quadro de dados com dados brutos e passar os nomes das colunas junto com ele, como mostrado no seguinte snippet de código:

my_data = pd.Quadro de dados(
[[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
colunas = ["classificação", "sobrenome"]
)
meus dados

Depois de executar o trecho de código acima, veremos a seguinte saída:

Fluiing DataFrames

Quebrar os quadros de dados para extrair apenas as linhas e colunas selecionadas é uma funcionalidade importante para manter a atenção para partes necessárias dos dados que precisamos usar. Para isso, os pandas nos permitem cortar o quadro de dados como e quando necessário com declarações como:

  • ILOC [: 4 ,:] - Seleciona as 4 primeiras linhas e todas as colunas para aquelas linhas.
  • ILOC [: ,:] - O quadro de dados completo é selecionado
  • ILOC [5 :, 5:] - Linhas da posição 5 em diante e colunas da posição 5 em diante.
  • iloc [:, 0] - a primeira coluna e todas as linhas para a coluna.
  • ILOC [9 ,:] - a 10ª fila e todas as colunas para aquela linha.

Na seção anterior, já vimos indexação e corte com nomes de colunas em vez dos índices. Também é possível misturar o fatiamento com números de índices e nomes de colunas. Vejamos um snippet de código simples:

alunos.loc [: 5, 'nome']

Depois de executar o trecho de código acima, veremos a seguinte saída:

É possível especificar mais de uma coluna:

alunos.loc [: 5, ['nome', 'contato de emergência']]

Depois de executar o trecho de código acima, veremos a seguinte saída:

Estrutura de dados em série em pandas

Assim como os pandas (que é uma estrutura de dados multidimensional), uma série é uma estrutura de dados de uma dimensão em pandas. Quando recuperamos uma única coluna de um DataFrame, estamos realmente trabalhando com uma série:

Tipo (alunos ["Nome"])

Depois de executar o trecho de código acima, veremos a seguinte saída:

Também podemos construir nossa própria série, aqui está um trecho de código para o mesmo:

Série = Pd.Série (['Shubham', 3.7])
Series

Depois de executar o trecho de código acima, veremos a seguinte saída:

Como claro no exemplo acima, uma série pode conter vários tipos de dados para a mesma coluna.

Filtros booleanos no quadro de dados de pandas

Uma das coisas boas dos pandas é como é extrair dados de um quadro de dados com base em uma condição. Como extrair os alunos apenas quando o número do rolo é maior que 6:

roll_filter = alunos ['rollno']> 6
roll_filter

Depois de executar o trecho de código acima, veremos a seguinte saída:

Bem, não é isso que esperávamos. Embora a saída seja bastante explícita sobre quais linhas satisfazem o filtro que fornecemos, mas ainda não temos as linhas exatas que satisferam esse filtro. Acontece isso Podemos usar filtros como índices de dados de dados também:

alunos [roll_filter]

Depois de executar o trecho de código acima, veremos a seguinte saída:

É possível usar várias condições em um filtro para que os dados possam ser filtrados em um filtro conciso, como:

next_filter = (estudantes ['rollno']> 6) & (estudantes ['nome']> 's')
Alunos [Next_filter]

Depois de executar o trecho de código acima, veremos a seguinte saída:

Calculando mediana

Em um quadro de dados, podemos calcular muitas funções matemáticas também. Vamos dar um bom exemplo de calcular mediana. A mediana será calculada para uma data, não apenas para números. Vejamos um trecho de código curto para o mesmo:

datas = estudantes ['data de admissão'].ASTYPE ('DATETIME64 [NS]').Quantil (.5)
datas

Depois de executar o trecho de código acima, veremos a seguinte saída:

Conseguimos isso pela primeira vez indexando a coluna de data que temos e depois fornecendo um tipo de dados para a coluna para que os pandas possam inferir corretamente quando aplica a função quantil para calcular a data mediana.

Conclusão

Nesta lição, analisamos vários aspectos da biblioteca de processamento de pandas que podemos usar com o Python para coletar dados de várias fontes em uma estrutura de dados de quadro de dados que nos permite operar sofisticado em um conjunto de dados. Ele também nos permite obter a subconjunto de dados em que queremos trabalhar momentaneamente e fornece muitas operações matemáticas.

Compartilhe seus comentários sobre a lição no Twitter com @sbmaggarwal e @linuxhint.