Quando se aprende lógica de programação é comum começar resolvendo problemas simples de matemática, utilizando a linguagem de programação escolhida para aprender a programar.
Quase todo programador já precisou escrever um algoritmo para separar números pares de ímpares, pensando nisso fiz uso desse pequeno script para tratar um dataframe extraído do site da NBB (Novo Basquete Brasil), com dados da tabela de classificação do campeonato 24/25 até o momento.
Os dados são extraídos do site: LNB, usando a função read_html() da biblioteca Pandas, que nos retorna uma lista com os dataframes extraídos dos site.
import pandas as pd
tabela = pd.read_html('https://lnb.com.br/nbb/')
tabela[0].head()
Por terem sido extraídos da web através do HTML do site, existem dados sem muita importância para nós, dados que vieram das tags presentes no HTML e que não necessariamente carregam informações úteis.
Podemos notar que as linhas de índex ímpares não carregam dados úteis e se repetem por todo o dataframe, pensando nisso vamos manter apenas os indexes pares.
tabela_lista = []
for i in range(len(tabela[0])):
if (i % 2) == 0:
tabela_lista.append(tabela[0].iloc[i])
Com aquele mesmo algoritmo, que todo programador já viu em algum momento durante seu aprendizado, vamos separar os indexes que são pares e manter apenas eles no nosso dataframe. Para isso basta pegar o número do índex e se o resto de sua divisão por 2 for igual a 0 então o número é par, logo iremos manter ele em nosso dataframe.
Utilizando a lista com as series, vamos montar o novo dataframe.
tabela_df = pd.DataFrame(tabela_lista)
tabela_df
O resultado fica de acordo com a imagem abaixo.
O ultimo tratamento que vamos fazer é um reset no índex do dataframe, para que volte a começar do 0, como se fosse originalmente desta forma. Com atributo inplace certificamos que as alterações serão feitas no dataframe original.
tabela_df.reset_index(inplace = True)
tabela_df
Finalizado, agora se desejar também é possível extrair a tabela utilizando a função to_csv() ou trabalhar com ela em um jupyter notebook.
Obrigado por ler o artigo!
Top comments (0)