Como definir a primeira linha como cabeçalho no pandas
Você pode usar a seguinte sintaxe básica para definir a primeira linha de um DataFrame do pandas como cabeçalho:
df. columns = df. iloc [0] df = df[1:]
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: definir a primeira linha como cabeçalho no Pandas
Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vários jogadores de basquete:
import pandas as pd #createDataFrame df = pd. DataFrame ({' Bad Name 1 ': ['team', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' Bad Name 2 ': ['points', 18, 22, 19, 14, 14, 11, 20, 28], ' Bad Name 3 ': ['assists', 5, 7, 7, 9, 12, 9, 9, 4], ' Bad Name 4 ': ['rebounds', 11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) Bad Name 1 Bad Name 2 Bad Name 3 Bad Name 4 0 team points assists rebounds 1 A 18 5 11 2 B 22 7 8 3 C 19 7 10 4 D 14 9 6 5 E 14 12 6 6 F 11 9 5 7 G 20 9 9 8:28 a.m. 4:12
Vamos supor que a primeira linha contenha os valores que realmente queremos usar no cabeçalho.
Para definir a primeira linha como cabeçalho, podemos usar a seguinte sintaxe:
#set column names equal to values in row index position 0
df. columns = df. iloc [0]
#remove first row from DataFrame
df = df[1:]
#view updated DataFrame
print (df)
0 team points assists rebounds
1 A 18 5 11
2 B 22 7 8
3 C 19 7 10
4 D 14 9 6
5 E 14 12 6
6 F 11 9 5
7 G 20 9 9
8:28 a.m. 4:12
Observe que os valores da primeira linha agora são usados como cabeçalhos.
Se você deseja redefinir o índice DataFrame, use o seguinte código:
#reset index values
df. reset_index (drop= True , place= True )
#view updated DataFrame
print (df)
0 team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12
O índice agora é redefinido para que a primeira linha tenha um valor de índice 0 .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Como selecionar colunas por nome no Pandas
Como selecionar colunas por índice no Pandas
Como selecionar colunas contendo uma string específica no Pandas