pandas

Tutorial do Pandas em Python

Tutorial do Pandas em Python
Nesta lição sobre a biblioteca Python Pandas, veremos diferentes estruturas de dados que este pacote Python fornece para funcionalidades de processamento rápido de dados que são eficientes para dados dinâmicos e gerenciamento de operações complexas sobre dados multidimensionais. Nesta lição, abordaremos principalmente:

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

O que é o pacote Python Pandas?

De acordo com a página inicial do Pandas: o pandas é uma biblioteca de código aberto licenciada por BSD que fornece estruturas de dados de alto desempenho e fáceis de usar e ferramentas de análise de dados para a linguagem de programação Python.

Uma das coisas mais legais sobre o Pandas é que ele torna a leitura de dados de formatos de dados comuns como CSV, SQL etc. muito fácil, o que o torna igualmente utilizável em aplicativos de nível de produção ou apenas alguns aplicativos de demonstração.

Instale 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 / activate

Assim que o ambiente virtual estiver ativo, podemos instalar a biblioteca pandas dentro do ambiente virtual para que os exemplos que criaremos a seguir possam ser executados:

pip instalar pandas

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

conda instalar pandas

Vemos algo assim quando executamos o comando acima:

Assim que a instalação for concluída com Conda, poderemos usar o pacote em nossos scripts Python como:

importar pandas como pd

Vamos começar a usar o Pandas em nossos scripts agora.

Lendo arquivo CSV com Pandas DataFrames

Ler um arquivo CSV é fácil com o 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. Assim que o arquivo estiver presente, adicione o seguinte snippet de código em um arquivo Python:

importar pandas como pd
alunos = pd.read_csv ("alunos.csv ")
alunos.cabeça()

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

A função head () no Pandas pode ser usada para mostrar uma amostra dos dados presentes no DataFrame. Espere, DataFrame? Estudaremos muito mais sobre DataFrame na próxima seção, mas apenas entenda que um DataFrame é 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 snippet de código acima, veremos a seguinte saída:

Observe que os Pandas também contam o número de linhas começando em 0.

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

student_names = alunos ['Nome']
student_names

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

Mas isso não parece uma lista, parece? 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 snippet de código acima, veremos a seguinte saída:

Apenas para obter informações extras, podemos ter certeza de que cada elemento da lista é único e só escolhemos elementos não vazios adicionando algumas verificações simples como:

student_names = alunos ['Nome'].dropna ().único().listar()

Em nosso caso, a saída não mudará porque a lista já não contém nenhum valor de falta.

Também podemos fazer um DataFrame com dados brutos e passar os nomes das colunas junto com eles, como mostrado no seguinte trecho de código:

meus_dados = pd.Quadro de dados(
[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
colunas = ["Classificação", "Sobrenome"]
)
meus dados

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

Slicing DataFrames

Dividir DataFrames para extrair apenas as linhas e colunas selecionadas é uma funcionalidade importante para manter a atenção nas partes necessárias dos dados que precisamos usar. Para isso, o Pandas nos permite dividir o DataFrame como e quando necessário com instruções como:

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

alunos.loc [: 5, 'Nome']

Depois de executar o snippet 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 snippet de código acima, veremos a seguinte saída:

Estrutura de dados da série em pandas

Assim como o Pandas (que é uma estrutura de dados multidimensional), uma série é uma estrutura de dados unidimensional no Pandas. Quando recuperamos uma única coluna de um DataFrame, estamos, na verdade, trabalhando com uma série:

tipo (alunos ["Nome"])

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

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

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

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

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

Filtros booleanos no Pandas DataFrame

Uma das coisas boas no Pandas é como ele extrai dados de um DataFrame com base em uma condição. Como extrair alunos apenas quando o número do rolo for maior que 6:

roll_filter = students ['RollNo']> 6
roll_filter

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

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

alunos [roll_filter]

Depois de executar o snippet 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 = (students ['RollNo']> 6) & (students ['Name']> 'S')
alunos [next_filter]

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

Calculando a mediana

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

datas = alunos ['Data de admissão'].astype ('datetime64 [ns]').quantil (.5)
datas

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

Conseguimos isso indexando primeiro a coluna de data que temos e, em seguida, fornecendo um tipo de dados para a coluna para que o Pandas possa inferir corretamente quando aplica a função de quantil para calcular a data mediana.

Conclusão

Nesta lição, vimos vários aspectos da biblioteca de processamento do Pandas que podemos usar com Python para coletar dados de várias fontes em uma estrutura de dados DataFrame que nos permite operar sofisticadamente em um conjunto de dados. Também nos permite obter um subconjunto de dados com os quais queremos trabalhar momentaneamente e fornece muitas operações matemáticas.

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

Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...
Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...
Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...