Introdução
Neste tutorial, aprenderemos sobre o método DataFrame.reindex() do Python pandas. Exploraremos como alterar o índice e as colunas de um DataFrame usando este método. O método DataFrame.reindex() permite reconciliar o DataFrame com um novo índice, preenchendo valores nulos nas localizações que não possuem valor no índice anterior.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Importar a biblioteca pandas e criar um DataFrame
Vamos começar importando a biblioteca pandas e criando um DataFrame. Usaremos este DataFrame para demonstrar o método DataFrame.reindex().
import pandas as pd
## Create a DataFrame
df = pd.DataFrame([[1, 6, 2], [3, 4, 6], [12, 1, 0]], columns=['A', 'B', 'C'], index=['index_1', 'index_2', 'index_3'])
Reindexar o DataFrame usando o parâmetro index
Para reindexar o DataFrame alterando o índice, passe uma lista de novos rótulos de índice para o método DataFrame.reindex(). Quaisquer rótulos de índice que não estejam presentes no DataFrame original serão preenchidos com valores NaN.
## Reindex the DataFrame with a new index
new_index = ['index_1', 'index_2', 'index_4']
reindexed_df = df.reindex(index=new_index)
print(reindexed_df)
Output:
A B C
index_1 1.0 6.0 2.0
index_2 3.0 4.0 6.0
index_4 NaN NaN NaN
Reindexar o DataFrame usando o parâmetro columns
Da mesma forma, você pode reindexar o DataFrame alterando as colunas usando o método DataFrame.reindex(). Forneça uma lista de novos rótulos de coluna para o parâmetro columns. Quaisquer colunas que não estejam presentes no DataFrame original serão preenchidas com valores NaN.
## Reindex the DataFrame with new columns
new_columns = ['A', 'C', 'D']
reindexed_df = df.reindex(columns=new_columns)
print(reindexed_df)
Output:
A C D
index_1 1.0 2.0 NaN
index_2 3.0 6.0 NaN
index_3 12.0 0.0 NaN
Preencher valores nulos usando o parâmetro fill_value
Se você deseja preencher os valores nulos com um valor específico, pode usar o parâmetro fill_value do método DataFrame.reindex(). Forneça o valor desejado a ser usado para preencher os valores nulos.
## Reindex the DataFrame and fill null values with 2
new_index = ['index_1', 'index_2', 'index_4']
reindexed_df = df.reindex(index=new_index, fill_value=2)
print(reindexed_df)
Output:
A B C
index_1 1 6 2
index_2 3 4 6
index_4 2 2 2
Resumo
Neste tutorial, aprendemos como reindexar um DataFrame usando o método DataFrame.reindex() no pandas. Exploramos como alterar o índice e as colunas de um DataFrame, preencher valores nulos e especificar um valor de preenchimento para os valores nulos. Saber como reindexar corretamente um DataFrame é útil para manipular e alinhar dados no pandas.