Oii Keigo, tudo bem por ai?
Analisamos aqui e o site da InfoMoney tem uma tabela dinâmica gerada pelo JavaScript, então quando o Pandas vai realizar a leitura, ele acha apenas o cabeçalho da tabela, como podemos ver apertando o CTRL + U no site e na imagem abaixo.
O comando read_html é responsável por analisar um código estático, sem se importar com os carregamentos posteriores do JavaScript, ele só visualiza o que foi carregado primeiro. Usando apenas a biblioteca Pandas não conseguimos fazer a leitura.
Eu testei seu código com o site do Yahoo Finanças, com a mesma ação que você gostaria de analisar (PETR3), e consegui fazer a leitura da tabela completa que o site disponibiliza.
df_html = pd.read_html('https://br.financas.yahoo.com/quote/PETR3.SA/history?p=PETR3.SA')
df_html[0]
E obtive essa tabela como resposta
Caso você ainda queira utilizar o site da InfoMoney, será necessário utilizar a biblioteca Selenium e o processo precisará de um pouco mais de tempo e conhecimento da biblioteca para ser feito.
Caso tenha mais alguma dúvida, estou a disposição! :)