====== Pandas ======
import pandas as pd
==== Importas CSV ====
df = pd.read_csv('nomefile.csv', sep=';', encoding='cp1252', usecols=[1,2,5])
**OBS:** os argumentos não são obrigatórios além do próprio **nome_do_arquivo**.
Por ''default'' o **encoding** é ''UTF-8'' e separado por '',''.
==== Verificar o tamanho do Data Frame ====
df.shape
''Return: Linhas x Colunas ''
==== Descreve os dados ====
Muito útil para verificar se tem colunas vazias
df.info()
==== Mostrar primeiras linhas ====
df.head(3)
**OBS:** por ''default'' mostra 5 linhas
==== Mostra as ultimas linhas ====
df.tail()
==== Mostra linhas Amostras (aleatórias) do Data Frame ====
df.sample(5)
==== Conta o número de linhas de cada coluna ====
df.count()
==== Mostra os tipos de objetos de cada coluna ====
df.dtypes
==== Descreve colunas ====
df.describe()
Obter os valores de describe:
alturas = df['alturas']
alt_descri = alturas.describe()
q1 = alt_descri['25%']
mediana = alt_descri['50%']
q3 = alt_descri['75%']
|O ''Return'' de describe() são: quantidades de registros, média, desvio-padrão, menor valor, 1º quartil (25%), mediana (50%), 3º quartil (75%) e maior valor.|
==== Trocar o nome das colunas ====
df.columns=['nome_coluna1','nome_coluna2','nome_coluna3']
==== Contagem de linhas por valores iguais em uma coluna ====
df['nome_coluna'].value_counts()
==== Ordenação dos valores ====
df['nome_coluna'].value_counts().sort_index()
===== Gerar gráficos =====
==== Gerar Histogramas ==
df.hist(column="Age",bins=100)
plt.show()
''Argumento bins é a subdivisão dos dados''
==== Gráfico de barras verticais ====
df['nome_coluna'].value_counts().plot.bar()
==== Gráfico de barras horizontais ====
df['nome_coluna'].value_counts(ascending=True).plot.barh(title='titulo_grafico')
* ascending=True - Organiza a tabela antes de plotar o gráfico
**obs:** caso esteja utilizando o** python jupiter** utilize o comando '' %matplotlib inline '' antes de gerar o gráfico.
==== Listar string* únicas do DataFrame ====
df['nome_coluna'].unique()
===== Filtro de data frame =====
Gera um Data Frame de ''Retorno'' da coluna filtrada.
==== Filtrar por uma variável ====
df_objeto_filtrado = df[df['nome_coluna']=='nome_objeto_a_ser_filtrado']
==== Mostrar apenas uma coluna do Data Frame ====
df['nome_coluna']
==== Mostrar duas ou mais colunas do Data Frame ====
df[['nome_coluna1','nome_coluna2','nome_coluna3']]
==== Filtrar por um string e conta as aparições ====
df[df['nome_coluna'].str.contains('string_a_pesquisar').count()]
==== Filtrar por maior valor ====
df[df['nome_coluna']==df['nome_coluna'].max()]
==== Filtrar por menor valor ====
df[df['nome_coluna']==df['nome_coluna'].min()]
==== Agrupamento de dados ====
df.groupby('uf_busca')['mensalidade'].max()
''Return: uf e mensalidade ''
==== Localização de linhas do Agrupamento de dados ====
Como o agrupamento retorna apenas as linhas envolvidas no filtro, utiliza-se o ''loc'' para retornar a linha correspondente aos ids da filtragem realizadas e mostra elas completas.
df.loc[df.groupby('uf_busca')['mensalidade'].idxmax()]
==== Filtrar entre valores ====
df[(df['mensalidade']>500) & (df['mensalidade']<1000)]
==== Query ====
df_fem = df.query('Sexo=="F" & Peso <60)
altura_fem = df_fem['Alt']