utils_gabriel module

Esse modulo contem as ferramentas necessarias para uma analise a cerca dos imcs dos alistados.

utils_gabriel.bar_plot_imc()

Funcao que cria a visualizacao para a analise do IMC. Note que ela baixa os arquivos para vis caso necessario.

utils_gabriel.create_imc(df, height_colname: str, weight_colname: str)

Cria a coluna imc para uma tabela. Lembrando que o IMC calcula se pelo peso(kg)/altura(m)**2.

Parameters

dfpandas.DataFrame

Tabela que tenha colunas de altura e peso.

height_colnamestr

Nome da coluna do DataFrame que representa a altura.

weight_colnamestr

Nome da coluna do DataFrame que representa o peso.

Returns

dfpandas.DataFrame or None

Retorna uma tabela que contenha a coluna IMC. Retorna None se alguma das exeções forem encontradas.

Example

Exemplo em que cria a coluna imc com sucesso.

>>> import pandas as pd
>>> dados = {'Altura(cm)': [160, 175, 150, 180],
...          'Peso(kg)': [65, 80, 55, 90]}
>>> df = pd.DataFrame(dados)
>>> df = create_imc(df, 'Altura(cm)', 'Peso(kg)')
>>> df
   Peso(kg)  ALTURA(m)        IMC
0        65       1.60  25.390625
1        80       1.75  26.122449
2        55       1.50  24.444444
3        90       1.80  27.777778
utils_gabriel.df_allyears(data_list: list)

Concatena os DataFrames de todos os anos.

Parameters

data_listlist

Lista com os dataframes.

Returns

df_concatenadopandas.DataFrame

DataFrame com dados de todos os anos sobre alistamento militar no Brasil.

Raises

ValueError

Se os nomes das colunas dos dataframes forem diferentes, ou o tamanho da lista de dataframes for menor que dois.

Example

Exemplo em que concatena dois dataframes com colunas com nomes iguais.

>>> import pandas as pd
>>> data_list = [pd.DataFrame({'Ano': [2007, 2008], 'Valor': [10, 20]}),
...              pd.DataFrame({'Ano': [2009, 2010], 'Valor': [30, 40]})]
>>> df_allyears(data_list)
    Ano  Valor
0  2007     10
1  2008     20
2  2009     30
3  2010     40
utils_gabriel.percentage_formatter(x, pos)

Formata um número como uma string de porcentagem sem casas decimais. Recebe a variavel pos, pois para plotar viu se necessario para o FuncFormatter funcionar.

Parameters

xfloat

O valor numérico a ser formatado como porcentagem.

posint

A posição no eixo em que o valor x está sendo usado.

Returns

str

Uma string formatada representando o valor x como uma porcentagem inteira.

Example

>>> percentage_formatter(0.25, 0)
'25%'
>>> percentage_formatter(0.753, 1)
'75%'
utils_gabriel.percentage_value_counts(series)

Mostra a porcentagem que cada valor de uma serie panda representa do total.

Parameters

seriespandas.Series

Série na qual se quer saber a porcentagem em que aparece cada valor.

Raises

ValueError

Quando é passada uma série vazia.

Returns

finaldfpandas.DataFrame

Retorna um data frame com a coluna PORCENTAGEM, em que os valores sao decimais que representam quantos por cento o index do data frame representa do total de ocorrências da serie panda, os index do data frame são os elementos da serie panda.

Example

>>> import pandas as pd
>>> dados = pd.Series([1,2,2,2,3,4,4,4,5,5])
>>> print(percentage_value_counts(dados))
   PORCENTAGEM
2          0.3
4          0.3
5          0.2
1          0.1
3          0.1
utils_gabriel.read_local_data(path: str, dropnull: bool = False, cols: List[str] | None = None)

Lê um arquivo csv e cria um DataFrame.

Parameters

pathstr

O caminho do arquivo csv que será lido.

colslist

Lista com as colunas desejadas.

dropnullbool

Se True, dpropa as linhas nulas, se False, não dropa.

Returns

cleandfpandas.DataFrame

Retorna um DataFrame que pode ser utilizado para a análise de algo.

Raises

NameError

Se o nome do arquivo passado nao existir no repositorio.

utils_gabriel.save_data_in_list(dropna: bool = False, cols: List[str] | None = None)

Lê arquivos CSV dos anos de 2007 a 2022 e armazena os DataFrames em uma lista. Note que essa funcao apenas serve se o nome dos csvs forem compativeis com o formato ‘sermil{ano}.csv’ e todos eles estiverem baixados no repositorio.

Parameters

colslist

Lista com as colunas desejadas dos datasets que serão salvos em uma lista.

dropnabool

Se True dropa as linhas nulas dos datasets da lista, se False, não dropa.

Returns

dataframeslist

Uma lista que contém os DataFrames correspondentes a cada ano. Para acessar o DataFrame gerado com os dados do ‘sermil2007.csv’, você pode usar dataframes[0], para ‘sermil2008.csv’, use dataframes[1], e assim por diante.