0% acharam este documento útil (0 voto)
33 visualizações24 páginas

Pandas e Python

Este documento descreve como usar a biblioteca Pandas do Python para manipular e analisar dados. Pandas permite importar dados de várias fontes como arquivos Excel, CSV e bancos de dados SQL, e representá-los em DataFrames. Os DataFrames permitem selecionar linhas e colunas, ordenar e filtrar dados, aplicar funções a colunas e remover linhas e colunas duplicadas.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
33 visualizações24 páginas

Pandas e Python

Este documento descreve como usar a biblioteca Pandas do Python para manipular e analisar dados. Pandas permite importar dados de várias fontes como arquivos Excel, CSV e bancos de dados SQL, e representá-los em DataFrames. Os DataFrames permitem selecionar linhas e colunas, ordenar e filtrar dados, aplicar funções a colunas e remover linhas e colunas duplicadas.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Pandas e Python

Pandas é uma biblioteca de código aberto em Python que fornece análise e


manipulação de dados ema programação em Python.
É uma biblioteca muito promissora para representação de dados, filtragem e programação
estatística. A peça mais importante no pandas é o DataFrame, onde armazena e manipula
com os dados.

Neste tutorial, você aprenderá o que é um DataFrame, como criá-lo a partir de diferentes fontes,
como exportá-lo para diferentes resultados e como manipular seus dados.

Instalar pandas
Você pode instalar pandas no Pythonusando pip. Execute o seguinte comando no cmd:
pip instalar pandas

Além disso, você pode instalar pandas usando conda assim:

condainstallpandas

Ler um arquivo do Excel


Você pode ler a partir de um arquivo Excel usando o método read_excel() do pandas. Para isso,
você precisa importar um módulo a mais chamado xlrd.

Instale xlrd usando pip:


pipinstalarlxlrd

O seguinte exemplo mostra como ler de uma folha de Excel:

1. Criamos uma folha de Excel com os seguintes conteúdos:

2. Importa o módulo do pandas.


importar pandas
3. Passaremos o nome do arquivo Excel e o número da aba da qual precisamos
ler os dados no método read_excel().
pandas.ler_excel('pandasExcel.xlsx','Planilha1')
O fragmento anterior gerará o seguinte resultado:
Se você verificar o tipo de saída usando a palavra-chave de tipo, receberá o seguinte resultado:

<classe 'pandas.core.frame.DataFrame'>
Este resultado é chamado de DataFrame! Essa é a unidade básica do pandas com a qual vamos
a tratar até o final do tutorial.
O DataFrame é uma estrutura de 2 dimensões etiquetada onde podemos armazenar
dados de diferentes tipos. DataFrame é semelhante a uma tabela SQL ou uma planilha de
Excel.

Importar arquivo CSV


Para ler um arquivo CSV, você pode usar o método read_csv() do pandas.

Importe o módulo pandas:

importar pandas
Agora chame o método read_csv() da seguinte maneira:

pandas.ler_csv('Book1.csv')
O arquivo Book1.csv tem o seguinte conteúdo:
O código gerará o seguinte DataFrame:

Ler um arquivo de texto


Também podemos usar o método read_csv do pandas para ler a partir de um arquivo de texto;
Considere o seguinte exemplo:

importar pandas

pandas.read_csv('myFile.txt')
O myFile.txt tem o seguinte formato:
A saída do código anterior será:

Este arquivo de texto é tratado como um arquivo CSV porque temos elementos separados
por vírgulas. O arquivo também pode usar outro delimitador, como um ponto e vírgula, um
tabulador, etc.

Suponhamos que temos um delimitador de tabulação e o arquivo se parece com isso:


Quando o delimitador é uma tabulação, teremos o seguinte resultado:

Como pandas não tem ideia do delimitador, traduza o tabulador para \t.

Para definir o caractere de tabulação como um delimitador, passe o argumento delimiter de


esta maneira:

pandas.read_csv('myFile.txt', delimitador='\t')
Agora a saída será:

Parece correto agora.


Ler SQL
Você pode usar o método read_sql() do pandas para ler de um banco de dados SQL. Isso se
demonstra no seguinte exemplo:

importar sqlite3

importar pandas

con = sqlite3.connect('meubanco.db')

pandas.read_sql('selecionar * da Employee', con)


Neste exemplo, nós nos conectamos a umabanco de dados SQLite3que tem uma tabela chamada
“Empregado”. Usando o método read_sql () do pandas, passamos uma consulta e um objeto de
conexão ao método read_sql(). A consulta recupera todos os dados da tabela.
Nossa tabela de funcionários se parece com o seguinte:

Quando você executar o código acima, a saída será como a seguinte:


Selecionar colunas
Suponhamos que temos três colunas na tabela Funcionário da seguinte maneira:

Para selecionar colunas da tabela, passaremos a seguinte consulta:

selecionar Nome, Cargo da Funcionário


A sentença do código de pandas será a seguinte:
pandas.read_sql('select Nome, Trabalho de Funcionário', con)

Também podemos selecionar uma coluna de uma tabela acessando o DataFrame a.


Considere o seguinte exemplo:

x = pandas.read_sql('select * from Employee', con)

Nome
O resultado será o seguinte:

Selecionar linhas por valor


Primeiro, criaremos um DataFrame do qual selecionaremos linhas.

Para criar um DataFrame, considere o seguinte código:

importar pandas

frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


'Funcionário']

df = pandas.DataFrame(frame_data)
Neste código, criamos um DataFrame com três colunas e três linhas usando o método
DataFrame () do pandas. O resultado será o seguinte:

Para selecionar uma linha de acordo com seu valor, execute a seguinte sentença

df.loc[df['name'] =='Jason']
df.loc [] o DataFrame.loc [] é um array booleano que pode ser usado para acessar linhas ou
colunas através de valores ou rótulos. No código anterior, será procurada a linha onde o
o nome é igual a Jason.

A saída será:

Selecionar linha por índice


Para selecionar uma linha pelo seu índice, podemos usar o operador de segmentação (:) ou o
arranjo df.loc []

Considere o seguinte código:

>>> frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


Funcionário

>>> df = pandas.DataFrame(frame_data)
Criamos um DataFrame. Agora vamos acessar uma linha usando df.loc []:

>>> df.loc[1]
Como você pode ver, recuperamos uma linha. Podemos fazer o mesmo usando o operador de
segmentação da seguinte maneira:

>>> df[1:2]

Alterar tipo de coluna


O tipo de dados de uma coluna pode ser alterado usando o atributo astype () de
DataFrame. Para verificar o tipo de dados das colunas, usamos o atributo dtypes de
DataFrame.

>>> df.dtypes
A saída será:

Agora, para converter o tipo de dados de um para outro:

>>> df.name = df.name.astype(str)


Buscamos a coluna 'name' do nosso DataFrame e mudamos seu tipo de dados de objeto
uma cadeia de caracteres.

Aplicar uma função a colunas / linhas


Para aplicar uma função em uma coluna ou linha, você pode usar o método apply () de
DataFrame.

Considere o seguinte exemplo:

>>> frame_data = {'A': [1,2,3],'B': [18,20,22],'C': [54,12,13]}


>>> df = pandas.DataFrame(frame_data)
Criamos um DataFrame e adicionamos valores do tipo inteiro nas linhas. Para aplicar uma
função, por exemplo, a raiz quadrada nos valores, importaremos o módulonumpypara
usar a função sqrt dessa maneira:
>>>importarnumpycomo np

>>>df.aplicar(np.sqrt)
A saída será a seguinte:

Para aplicar uma função de soma, o código será:

>>> df.apply(np.sum)

Para aplicar a função a uma coluna específica, você pode especificar a coluna da
próxima forma:

>>>df['A'].apply(np.sqrt)

Ordenar valores / ordenar por coluna


Para ordenar os valores em um DataFrame, utilize o método sort_values() do DataFrame.

Crie um DataFrame com valores inteiros:

>>> frame_data = {'A': [23,12,30],'B': [18,20,22],'C': [54,112,13]}

>>> df = pandas.DataFrame(frame_data)
Agora para ordenar os valores:

>>> df.sort_values(by=['A'])
A saída será:
O método sort_values() tem um atributo "by" que é necessário. No código acima, os
valores são ordenados pela coluna A. Para ordenar por várias colunas, o código é o
seguinte:

>>> df.sort_values(by=['A','B'])
Se você deseja ordenar em ordem decrescente, defina o atributo ascending de set_values como
Falso da seguinte maneira:

>>>df.sort_values(by=['A'], ascending=False)
A saída será:

Quitar / Eliminar duplicados


Para eliminar filas duplicadas de um DataFrame, use o método drop_duplicates () do
DataFrame.

Considere o seguinte exemplo:

>>> frame_data = {'name': ['James','Jason','Rogers','Jason'],'age': [18,20,22,20],'job': ['Assistant',


'Manager','Clerk','Manager']}

>>> df = pandas.DataFrame(frame_data)
Aqui criamos um DataFrame com uma linha duplicada. Para verificar se há linhas duplicadas em
o DataFrame, usa o método duplicated() do DataFrame.

>>> df.duplicados()
O resultado será:

Pode-se ver que a última linha é um duplicado. Para remover esta linha, execute o seguinte
linha de código:

>>> df.quitar_duplicatas()
Agora o resultado será:

Eliminar duplicados por coluna


Às vezes, temos dados em que os valores das colunas são os mesmos e desejamos
eliminá-los. Podemos eliminar uma linha por coluna ao passar o nome da coluna que
devemos eliminar.

Por exemplo, temos o seguinte DataFrame:

>>> frame_data = {'name': ['James','Jason','Rogers','Jason'],'age': [18,20,22,21],'job': ['Assistant',


'Manager','Clerk','Employee']}

>>> df = pandas.DataFrame(frame_data)
Aqui você pode ver que Jason está duas vezes. Se você deseja remover duplicados por coluna,
simplesmente passe o nome da coluna da seguinte maneira:

>>> df.remover_dobrados(['nome'])
O resultado será como o seguinte:

Borrar uma coluna


Para eliminar uma coluna ou linha completa, podemos usar o método drop() do DataFrame.
especificando o nome da coluna ou linha.

Considere o seguinte exemplo:

>>> df.drop(['job'], axis=1)


Nesta linha de código, estamos removendo a coluna chamada “job”. O argumento do
eixo é necessário aqui. Se o valor do eixo é 1, significa que queremos eliminar colunas, se o
valor do eixo é 0 significa que a linha será excluída. Em valores de eixo, 0 é para índice e 1
para colunas.

O resultado será:
Eliminar linhas
Podemos usar o método drop() para eliminar uma linha passando o índice da linha.

Suponhamos que temos o seguinte DataFrame:

>>> frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


Funcionário

>>> df = pandas.DataFrame(frame_data)
Para eliminar uma linha com o índice 0 onde o nome é James, a idade é 18 e o trabalho
Você é assistente, use o seguinte código:

>>> df.drop([0])

Vamos criar um DataFrame onde os índices são os nomes:

>>> frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


Funcionário

>>> df = pandas.DataFrame(frame_data, index = ['James','Jason','Rogers'])

Agora podemos eliminar uma linha com um certo valor. Por exemplo, se quisermos eliminar uma
fila onde o nome é Rogers, então o código será:

>>> df.drop(['Rogers'])
A saída será:

Você também pode excluir um intervalo de linhas da seguinte forma:


>>>df.drop(df.index[[0, 1]])
Isso eliminará as linhas do índice 0 a 1 e ficará apenas uma linha, uma vez que nosso DataFrame se
compõe de 3 filas:

Se você deseja eliminar a última linha do DataFrame e não sabe qual é o número total de linhas,
pode usar a indexação negativa como mostrado a seguir:

>>>df.drop(df.index[-1])
-1 apaga a última linha. Da mesma forma, -2 apagará as últimas 2 linhas e assim por diante.

Somar uma coluna


Você pode usar o método sum () do DataFrame para somar os elementos da coluna.

Suponhamos que temos o seguinte DataFrame:

>>> frame_data = {'A': [23,12,12],'B': [18,18,22],'C': [13,112,13]}

>>> df = pandas.DataFrame(frame_data)
Agora, para somar os elementos da coluna A, use a seguinte linha de código:

>>> df['A'].soma()

Você também pode usar o método apply() do DataFrame e passar o método de soma de
numpy para somar os valores.

Contar valores únicos


Para contar valores únicos em uma coluna, você pode usar o método nunique() do
DataFrame.

Suponha que temos um DataFrame como o seguinte:


>>> frame_data = {'A': [23,12,12],'B': [18,18,22],'C': [13,112,13]}

>>> df = pandas.DataFrame(frame_data)
Para contar os valores únicos na coluna A:

>>> df['A'].nunique()

Como você pode ver, a coluna A tem apenas 2 valores únicos 23 e 12 e o outro 12 é um
duplicado, por isso temos 2 na saída.

Se você quiser contar todos os valores em uma coluna, pode usar o método count () da
seguinte maneira:

>>> df['A'].count()

Filas de subconjuntos
Para selecionar um subconjunto de um DataFrame, você pode usar os colchetes.

Por exemplo, temos um DataFrame que contém alguns inteiros. Podemos selecionar ou
buscar o subconjunto de uma linha desta forma:

df.[início:contagem]
O ponto de início será incluído no subconjunto, mas o ponto de parada não é incluído.
exemplo, para selecionar 3 linhas a partir da primeira linha, você escreverá:

>>> df[0:3]
A saída será:

Esse código significa começar a partir da primeira linha que é 0 e selecionar 3 linhas.

Da mesma forma, para selecionar as duas primeiras linhas, você escreverá:


>>> df[0:2]

Para selecionar ou buscar um subconjunto com a última linha, use a indexação negativa:

>>> df[-1:]

Escrever em um Excel
Para escrever um DataFrame em uma planilha do Excel, podemos usar o método to_excel ().

Para escrever em uma planilha do Excel, você precisa abrir a planilha e para abrir uma planilha do Excel,
teremos que importar o módulo openpyxl.

Instale openpyxl usando pip:

pip instalar openpyxl

Considere o seguinte exemplo:

>>> importar openpyxl


>>> frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',
Funcionário

>>> df = pandas.DataFrame(frame_data)

>>> df.to_excel("pandasExcel.xlsx", "Sheet1")


O arquivo do Excel será como o seguinte:

Escrever em um arquivo CSV


Da mesma forma, para escrever um DataFrame em CSV, você pode usar o método to_csv()
como se mostra na seguinte linha de código.

>>> df.to_csv("pandasCSV.csv")
O arquivo de saída será como o seguinte:
Escrever em SQL
Para escrever dados em SQL, podemos usar o método to_sql().

Considere o seguinte exemplo:

importar sqlite3

importar pandas

con = sqlite3.connect('meubanco.db')

frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


Funcionário

df = pandas.DataFrame(frame_data)

df.to_sql('usuarios', con)
Neste código, criamos uma conexão com um banco de dados sqlite3. Em seguida, criamos um
DataFrame com três linhas e três colunas.

Finalmente, utilizamos o método to_sql do nosso DataFrame (df) e passamos o nome de


a tabela onde os dados serão armazenados juntamente com o objeto de conexão.
O banco de dados SQL terá a seguinte aparência:

Escrever em JSON
Você pode usar o método to_json() do DataFrame para escrever em um arquivo JSON.

Isto é demonstrado no seguinte exemplo:

>>> df.to_json("myJson.json")
Nesta linha de código, o nome do arquivo JSON é passado como um argumento. O
O DataFrame será armazenado no arquivo JSON. O arquivo terá o seguinte conteúdo:
Escrever em um arquivo HTML
Você pode usar o método to_html() do DataFrame para criar um arquivo HTML com o
conteúdo do DataFrame.

Considere o seguinte exemplo:

>>> df.to_html("myhtml.html")
O arquivo de resultados terá o seguinte conteúdo:

Quando você abrir o arquivo HTML no navegador, ele aparecerá assim:


Trabalhar com pandas é muito fácil. É como trabalhar com folhas de Excel! Pandas DataFrame
é uma biblioteca muito flexível que você pode usar.

Você também pode gostar