Como adicionar o Header Row a um DataFrame Pandas

Asad Riaz 30 janeiro 2023
  1. Adicionar Pandas DataFrame header Row (Pandas DataFrame Column Names) passando-o diretamente no método DataFrame
  2. Adicionar Pandas DataFrame header Row (Pandas DataFrame Nomes de Colunas) utilizando dataframe.columns
  3. Adicionar Pandas DataFrame header Row (Pandas DataFrame Nomes de Colunas) sem substituir o atual header
  4. Adicionar Pandas DataFrame header Row (Pandas DataFrame Nomes de Colunas) a DataFrame ao ler arquivos CSV
Como adicionar o Header Row a um DataFrame Pandas

Vamos introduzir o método para adicionar uma linha de cabeçalho a um pandas DataFrame, e opções como passar nomes diretamente no DataFrame ou atribuir os nomes das colunas diretamente em uma lista ao método dataframe.columns.

Também vamos introduzir como adicionar o cabeçalho Pandas DataFrame sem substituir o cabeçalho atual. Em outras palavras, vamos deslocar o cabeçalho atual para baixo e adicioná-lo ao DataFrame como uma linha.

Também veremos o exemplo de como adicionar uma linha de cabeçalho a um DataFrame enquanto lemos os arquivos csv.

Adicionar Pandas DataFrame header Row (Pandas DataFrame Column Names) passando-o diretamente no método DataFrame

Passaremos diretamente um header para DataFrame utilizando o argumento columns.

Códigos de exemplo:

# python 3.x
import pandas as pd
import numpy as np

df = pd.DataFrame(data=np.random.randint(0, 10, (6, 4)), columns=["a", "b", "c", "d"])
print(df)

Resultado:

   a  b  c  d
0  4  4  4  0
1  8  1  2  5
2  3  0  4  3
3  3  7  2  4
4  8  3  1  8
5  6  7  5  9

Adicionar Pandas DataFrame header Row (Pandas DataFrame Nomes de Colunas) utilizando dataframe.columns

Também podemos adicionar header ao DataFrame, utilizando dataframe.columns.

Códigos de exemplo:

# python 3.x
import pandas as pd
import numpy as np

df = pd.DataFrame(data=np.random.randint(0, 10, (6, 4)))

df.columns = ["a", "b", "c", "d"]
print(df)

Resultado:

   a  b  c  d
0  5  2  6  7
1  4  5  9  0
2  8  3  0  4
3  6  3  1  1
4  9  3  4  8
5  7  5  0  6

Adicionar Pandas DataFrame header Row (Pandas DataFrame Nomes de Colunas) sem substituir o atual header

Outra opção é adicionar a linha de cabeçalho como um nível de índice de coluna adicional para torná-la um MultiIndex. Esta abordagem é útil quando precisamos de uma camada extra de informação para as colunas.

Códigos de exemplo:

# python 3.x
import pandas as pd
import numpy as np

df = pd.DataFrame(data=np.random.randint(0, 10, (6, 4)), columns=["a", "b", "c", "d"])
df.columns = pd.MultiIndex.from_tuples(zip(["A", "B", "C", "D"], df.columns))
print(df)

Resultado:

   A  B  C  D
   a  b  c  d
0  2  6  4  6
1  5  0  5  1
2  9  6  6  1
3  8  9  7  4
4  6  5  6  6
5  3  9  1  5

Adicionar Pandas DataFrame header Row (Pandas DataFrame Nomes de Colunas) a DataFrame ao ler arquivos CSV

Podemos utilizar names diretamente no read_csv, ou definir header=None explicitamente se um arquivo não tiver cabeçalho.

Códigos de exemplo:

# python 3.x
import pandas as pd
import numpy as np

df = pd.Cov = pd.read_csv("path/to/file.csv", sep="\t", names=["a", "b", "c", "d"])

Artigo relacionado - Pandas DataFrame