7 Maneiras de Criar DataFrames com Pandas
Aprenda 7 maneiras de criar DataFrames com Pandas no Python e domine diferentes métodos para trabalhar com dados de forma eficiente e rápida.
Você pode criar DataFrames com Pandas de 7 formas: a partir de um arquivo CSV (pd.read_csv), de uma planilha Excel (pd.read_excel), da área de transferência (pd.read_clipboard), de um dicionário Python (pd.DataFrame), além de combinar DataFrames por linhas ou colunas com pd.concat e unir tabelas por uma chave com pd.merge.
O que você vai aprender?
7 Maneiras de Criar DataFrames com Pandas
Na aula de hoje, quero te mostrar 7 maneiras de criar DataFrames com Pandas no Python, para que você não tenha mais problemas na hora de gerar seus DataFrames ou precise ficar passando de um formato para o outro.
Veremos como criar DataFrames a partir de um arquivo, uma planilha, da área de transferência, de um dicionário e ainda como fazer a combinação de DataFrames de 3 formas diferentes.
Vou te ensinar a juntar linhas e colunas usando o merge para unir informações específicas e muito mais.
Já conhece alguma dessas formas de criar DataFrames? Quer aprender novas maneiras de criar DataFrames com Pandas? Então vem comigo que eu vou te mostrar!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Por que aprender a criar DataFrames com Pandas
O DataFrame é a estrutura de dados central do Pandas, permitindo armazenar dados em linhas e colunas de forma eficiente.
Aprender diferentes formas de criar DataFrames vai facilitar a leitura de arquivos, a manipulação de dados e a integração de múltiplas fontes de informação.
Instalação e Importação do Pandas
No material disponível para download, você encontrará o arquivo do Jupyter Notebook utilizado nesta aula, além das bases de dados utilizadas. É importante que você faça o download para acompanhar todas as etapas.
Para começar a trabalhar com o Pandas, é importante que você o tenha instalado no seu ambiente Python. Para instalá-lo, basta executar o seguinte comando no terminal do seu editor de códigos:
pip install PandasOu no Jupyter Notebook, execute o seguinte código em uma das células:
!pip install pandasFeita a instalação, basta importar o Pandas com o alias pd:
import pandas as pdCom isso, o Pandas estará pronto para ser utilizado.
Criando DataFrame a partir de um Arquivo
A primeira forma que quero apresentar para vocês é a criação do DataFrame a partir de um arquivo presente no computador.
O arquivo que vamos utilizar é uma base de dados sobre cereais disponíveis no mercado americano. Eu obtive essa base através do site Kaggle, que possui diversas bases de dados gratuitas para download.
Esse arquivo vem no formato CSV (Comma-Separated Values), que é uma forma comum de armazenar dados tabulares, e pode ser lido pelo Pandas através da função pd.read_csv() passando o nome do arquivo como argumento.
df_csv = pd.read_csv("cereal.csv")É importante ressaltar que só é possível utilizar apenas o nome do arquivo porque ele está na mesma pasta que o arquivo do meu código. Caso ele estivesse em outra pasta, seria necessário passar o caminho completo.
Armazenamos esse DataFrame gerado dentro da variável df_csv, e para ter certeza de que ele foi gerado corretamente, podemos utilizar o método head(), que exibe as cinco primeiras linhas presentes nele.
df_csv = pd.read_csv("cereal.csv")
df_csv.head()
Também podemos verificar as cinco últimas linhas utilizando o método tail().
df_csv.tail()
O que é um arquivo CSV?
É muito comum, ao trabalharmos com bases de dados, encontrarmos arquivos CSV (Comma-Separated Values).
O CSV significa "valores separados por vírgula". Basicamente, são arquivos de texto onde cada linha representa a entrada de um valor, e esses valores são separados por um caractere delimitador, geralmente uma vírgula.
Quando passamos esse arquivo para o Pandas, ele consegue interpretar essas vírgulas como delimitadores e organizar as informações em linhas e colunas corretamente.
Criando DataFrame a partir de uma Planilha
Outra maneira semelhante à importação via CSV é através de planilhas Excel (formato XLSX). Mas, ao invés de utilizarmos a função pd.read_csv(), iremos utilizar a pd.read_excel().
df_excel = pd.read_excel("cereal.xlsx")Executando o método head(), podemos verificar que nosso DataFrame foi criado corretamente.
df_excel.head()
Funções de Leitura do Pandas
É muito comum encontrarmos arquivos em CSV ou XLSX ao trabalharmos com o Pandas, porém ele possui diversas funções de leitura além dessas.
Caso você queira visualizar todas as funções disponíveis, além de consultar a documentação, você pode digitar dentro da célula no Jupyter Notebook o comando pd.read_ e em seguida apertar a tecla Tab.
Isso exibirá uma lista das funções de leitura disponíveis para o Pandas.

Algumas são menos comuns de serem utilizadas, mas temos muitas opções que você pode acabar encontrando como HTML, JSON e SQL.
Criando DataFrame a partir da Área de Transferência
Repare que uma das funções de leitura do Pandas é a clipboard, isso significa que outra maneira de você criar um DataFrame no Pandas é através da área de transferência do seu computador.
Quando você dá Ctrl + C em alguma informação no seu computador, essa informação fica armazenada na área de transferência.
Utilizando a função read_clipboard(), é possível gerar um DataFrame a partir dos dados presentes na área de transferência.
Para exemplificarmos esse processo, vamos abrir o arquivo Excel com a nossa base de dados e vamos copiar um conjunto de células dele com Ctrl + C.

Feito isso, dentro do notebook podemos criar o nosso DataFrame a partir da função read_clipboard(). E para essa função não precisamos passar nenhum argumento.
df_transferencia = pd.read_clipboard()
df_transferencia
Isso pode ser interessante quando você está trabalhando com algum arquivo Excel muito extenso e você só quer ter uma ideia de como ficaria a análise feita com Pandas. Então, ao invés de precisar importar todo o arquivo, você pode importar apenas uma parte.
Criando DataFrame a partir de Dicionários Python
Outra forma bastante eficaz de criar DataFrames é através de dicionários Python. Você define qual é seu dicionário primeiro e em seguida pode passar esse dicionário para a classe DataFrame do Pandas.
funcionarios = {
'Nome': ['João Silva', 'Maria Souza', 'José Ramos', 'Pedro Ferreira'],
'Idade': [35, 40, 54, 39],
'Tempo de Empresa': [3, 10, 15, 7],
}
df_dicionario = pd.DataFrame(funcionarios)Ao passar seu dicionário para essa classe, ele será rapidamente estruturado no formato de um DataFrame.
df_dicionario
Essa abordagem pode ser útil para demonstrar visualmente como ficaria a estrutura de dados em um DataFrame ou realizar análises preliminares antes de trabalhar com conjuntos maiores de dados.
Combinando DataFrames - Combinação de Linhas de Diferentes DataFrames
A partir de agora, iremos começar a trabalhar com mais de um DataFrame. É comum, conforme os projetos avançam, termos diversas fontes distintas de dados. E por isso, é muito importante saber combinar essas informações.
Um primeiro exemplo que vamos ver é quando queremos juntar dois DataFrames de forma sequencial. Ou seja, quando queremos que as linhas de um, virem as linhas do outro.
Para visualizarmos essa combinação, vamos continuar utilizando o DataFrame gerado pelo exemplo anterior, e criaremos um novo a partir de um outro dicionário.
mais_funcionarios = {
'Nome': ['Paula Lima', 'Marta Nunes'],
'Idade': [28, 45],
'Tempo de Empresa': [5, 12],
}
df_mais_funcionarios = pd.DataFrame(mais_funcionarios)
df_mais_funcionarios
Observe que ambos os DataFrames possuem a mesma estrutura, com as mesmas colunas e tipos de dados.
Para juntar esses dois DataFrames em um único, utilizaremos o método concat do Pandas, passando uma lista com os DataFrames desejados.
df_funcionarios = pd.concat([df_dicionario, df_mais_funcionarios])
df_funcionarios
Repare que, apesar de unir os dois em um único DataFrame, o índice numérico ficou desorganizado.
Para mantermos a contagem numérica do índice sequencial, podemos passar o parâmetro ignore_index=True para o método concat. Assim, a contagem numérica será reiniciada sequencialmente quando o DataFrame for gerado.
# resetando o index
df_funcionarios = pd.concat([df_dicionario, df_mais_funcionarios], ignore_index=True)
df_funcionariosIsso é importante para evitar repetições no índice e nos permitir selecionar os dados corretamente.
Combinando DataFrames - Combinação de Colunas de Diferentes DataFrames
Além da concatenação por linhas, é possível combinar DataFrames que se complementem pelas colunas presentes neles.
Para demonstrar esse exemplo, vamos utilizar a biblioteca NumPy, uma biblioteca essencial para operações numéricas e pré-requisito do Pandas.
Utilizando o módulo random do NumPy, iremos gerar valores aleatórios para um dicionário e depois converter esse dicionário em um DataFrame.
Primeiro, definiremos os setores da empresa dentro de uma lista. O dicionário que será utilizado para criar o DataFrame terá duas chaves: Setor e Salario.
Para gerar os valores associados ao Setor, iremos utilizar a função np.random.choice, passando para ela a lista de setores e o número 6, que indica a quantidade de vezes que queremos que esses setores sejam escolhidos.
Os salários serão gerados de forma semelhante, mas para eles utilizaremos a função np.random.randint, que gera valores inteiros aleatórios dentro do intervalo determinado.
Precisamos informar o valor inicial e final do intervalo e a quantidade de números que devem ser gerados.
Depois disso, podemos criar nosso DataFrame.
import numpy as np
setores = ['Vendas', 'RH', 'TI']
dados_funcionarios = {
'Setor': np.random.choice(setores, 6),
'Salario': np.random.randint(2000, 10000, size=6),
}
df_dados_funcionarios = pd.DataFrame(dados_funcionarios)
df_dados_funcionarios
Repare que como são dados aleatórios, cada vez que você gerar os dados, você terá um DataFrame resultante diferente.
Com esse DataFrame gerado, podemos combiná-lo com o df_funcionarios que geramos anteriormente. Assim, teremos em um único DataFrame as informações de Nome, Idade, Tempo de Empresa, Setor e Salário dos funcionários.
Para realizar a união pelas colunas, utilizaremos a função concat, especificando o eixo das colunas.
df_funcionarios_completo = pd.concat([df_funcionarios, df_dados_funcionarios], axis='columns')
df_funcionarios_completo
Isso só faz sentido caso ambos os DataFrames estejam organizados seguindo a mesma ordem. Ou seja, a primeira linha do segundo DataFrame é correspondente à primeira linha do primeiro.
Juntar DataFrames com Merge
Existe uma outra maneira de juntarmos dois DataFrames no Pandas que é utilizando a função merge().
Vamos ver um exemplo bem parecido com o anterior, porém agora, dentro dos DataFrames teremos uma mesma coluna chamada "id" que será um código de identificação do funcionário.
funcionarios = {
'id': ['FTI1', 'FVE2', 'FRH1', 'FVE1'],
'Nome': ['João Silva', 'Maria Souza', 'José Ramos', 'Pedro Ferreira'],
'Idade': [35, 40, 54, 39],
'Tempo de Empresa': [3, 10, 15, 7],
}
df_funcionarios = pd.DataFrame(funcionarios)
df_funcionarios
dados_funcionarios = {
'id': ['FVE1', 'FRH1', 'FTI1', 'FVE2'],
'Setor': ['Vendas', 'RH', 'TI', 'Vendas'],
'Salario': np.random.randint(2000, 10000, size=4),
}
df_dados_funcionarios = pd.DataFrame(dados_funcionarios)
df_dados_funcionarios
Os ids são identificadores únicos que estarão presentes em diversas bases de dados. Essa é uma abordagem comum dos bancos de dados para identificar elementos únicos dentro dele, evitando duplicações e garantindo a integridade dos dados.
Podemos comparar o id de uma entrada em uma base de dados com o CPF no Brasil, que é um identificador único para cada cidadão.
Os identificadores são muito úteis quando você deseja unir as informações de dois bancos de dados que estão em ordens diferentes.
Nesse nosso exemplo, o id está sendo utilizado para identificar cada um dos vendedores presentes na empresa.
Se utilizássemos a função concat para unir esses dois DataFrames, teríamos as informações de Setor e Salário atribuídas de forma incorreta aos funcionários, porque a função concat iria considerar a ordem das linhas e não o id.
Para garantir que o setor e o salário estejam corretos para cada um dos funcionários podemos utilizar a função merge().
O merge é preferível ao concat quando não temos certeza sobre a ordem dos dados presentes. Como o merge utiliza um critério específico (identificar único) para unir os DataFrames, isso garante a precisão das informações.
Na prática, você lidará muito mais com o merge do que com o concat. Isso porque as bases de dados dentro das empresas possuem algum identificador único que permita o relacionamento das informações contidas nelas.
O parâmetro que irá receber o nome da coluna que contém o critério específico para essa junção será o parâmetro on.
df_funcionarios_completo = pd.merge(df_funcionarios, df_dados_funcionarios, on='id')
df_funcionarios_completo
Perceba que o DataFrame final possui apenas uma coluna "id" e as informações foram atribuídas corretamente.
Perguntas frequentes
1. Como criar um DataFrame a partir de um arquivo CSV?
Use a função pd.read_csv(), passando o nome do arquivo como argumento, por exemplo pd.read_csv('cereal.csv'). Se o arquivo estiver em outra pasta, informe o caminho completo. Para conferir se o DataFrame foi criado corretamente, use o método head(), que exibe as cinco primeiras linhas da tabela.
2. Qual a diferença entre concat e merge no Pandas?
O concat junta DataFrames pela ordem das linhas ou colunas, empilhando os dados. Já o merge combina tabelas com base em uma coluna em comum (uma chave, como um id), garantindo que as informações fiquem alinhadas corretamente. Na prática, o merge é mais usado quando existe um identificador único entre as bases.
3. Como criar um DataFrame a partir de um dicionário Python?
Primeiro defina um dicionário Python, em que cada chave vira uma coluna e os valores viram as linhas. Depois passe esse dicionário para a classe pd.DataFrame(), como em pd.DataFrame(funcionarios). O Pandas estrutura os dados automaticamente no formato de tabela. É uma forma prática para testar análises com pequenos conjuntos de dados.
4. Como instalar e importar o Pandas no Python?
Para instalar o Pandas, execute pip install pandas no terminal do seu editor, ou !pip install pandas em uma célula do Jupyter Notebook. Depois, importe a biblioteca usando o apelido padrão pd, com import pandas as pd. A partir daí, o Pandas fica pronto para criar e manipular seus DataFrames.
Conclusão – 7 Maneiras de Criar DataFrames com Pandas
Na aula de hoje, eu te mostrei 7 maneiras de criar DataFrames com Pandas no Python! Vimos como gerar DataFrames a partir de um arquivo, uma planilha, da área de transferência, de um dicionário e ainda como fazer a combinação de DataFrames.
Dessa forma, você conseguirá trabalhar sem problemas com bases de dados de diferentes fontes para gerar os seus DataFrames de forma fácil e rápida.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula apresenta sete formas de criar ou compor DataFrames com Pandas: ler CSV, ler Excel, usar a área de transferência, converter um dicionário, concatenar linhas, concatenar colunas e mesclar tabelas por uma chave. Os exemplos também explicam ignore_index, dados aleatórios e quando preferir merge a concat.
Neste vídeo (33 min):
- 2:00 - Criação de um DataFrame de arquivo CSV com
pd.read_csv() - 4:00 - Leitura da mesma base em formato Excel com
pd.read_excel() - 5:00 - Descoberta de outras funções
read_*disponíveis no Pandas - 6:00 - Criação a partir de células copiadas com
pd.read_clipboard() - 8:00 - Estruturação de dados de funcionários em um dicionário Python
- 11:00 - Preparação de um segundo DataFrame com a mesma estrutura do primeiro
- 13:00 - Empilhamento de linhas com
pd.concat([df1, df2]) - 14:00 - Uso de
ignore_index=Truepara reconstruir o índice sequencial - 16:00 - Criação de colunas complementares com setores e salários aleatórios
- 22:00 - Concatenação lado a lado com
axis='columns' - 24:00 - Uso de um identificador único quando as linhas das bases estão em ordens diferentes
- 30:00 - Mesclagem com
pd.merge(..., on='ID')para alinhar os registros pela chave
Trechos do vídeo:
- As chaves de um dicionário viram colunas e as listas associadas fornecem os valores do DataFrame.
concaté adequado para empilhar estruturas compatíveis ou combinar colunas já alinhadas.mergerelaciona linhas por um identificador e não depende da ordem em que elas aparecem.
Hashtag Treinamentos
Para acessar outras publicações de Ciência de Dados, clique aqui!
Posts mais recentes de Ciência de Dados
- O que é cultura data-driven?O que é cultura data-driven, por que decidir com base em dados importa e como implementar uma empresa orientada a dados.
- O Mercado de Ciência de Dados: Qual a habilidade mais valorizada?Entenda como o mercado de ciência de dados mudou com a IA e qual habilidade virou a mais valorizada para quem quer se destacar na profissão.
- O que é Big Data?O que é Big Data, os 5 Vs, exemplos reais e as tecnologias usadas para analisar grandes volumes de dados.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








