Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre o DataFrame usando o HTML.

Ao usar o .read nas outras extensões de arquivo o pandas já nos fornece um DataFrame.

Porém ao usar o .read no html ele nos fornece um arquivo do tipo "List" que tem len = 1.

Ao tentar criar um DataFrame usando o comando "pd.Daframe(df_html)" e levantado um ValueError dizendo que devemos passar mais parâmetros para a criação de um DataFrame. ValueError: Must pass 2-d input. shape=(1, 10, 4)

Até ai consegui entender, pois o len de df_html é 1... Mas daí o professor consegue fazer o DataFrame usando o comando df_html[0], porque isso foi possível?

2 respostas
solução!

Olá, Felipe! Tudo bem com você?

Quando utilizamos o read_html, procuramos na página web as tags table, transformamos essas tabelas em um DataFrame e colocamos em uma lista. Então o que o read_html retorna é uma lista de DataFrames, mesmo que exista somente uma tabela na página, conforme documentação e essas dicas da biblioteca Pandas para análise de HTML. Podemos comprovar isso exibindo o tipo de variável retornada:

df_html = pd.read_html('dados/dados_html_1.html')
type(df_html)

Saída:

list

Logo não é necessário realizar o comando pd.Daframe(df_html), pois os elementos da lista retornada em pd.read_html já são DataFrames.

Esse também é o motivo que possibilita o instrutor obter um DataFrame realizando df_html[0]. Quando executamos isso estamos obtendo a primeira tabela da página, que está como o primeiro elemento da lista, transformado em DataFrame.

Espero ter ajudado, mas se ainda persistir alguma dúvida estou sempre à disposição.

:)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Valeu pela explicação Bruno!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software