Rename columns nuḿericas in Pandas

Asked

Viewed 1,058 times

0

I imported an Excel file into a f0719 dataframe. Except that Pandas added numbers, which did not exist in the original file, as identification of the columns, instead of the name, which was just below, in the second row. I tried renaming, via command below, which does not give any error, however, the columns are not renamed and remain with the numbers. In figure 1 I have the dataframe as it currently is. And, in figure 2, how I want it to look.

f0719 = f0719.rename(columns={'0': 'Sigla da UPAG', '1': 'Identificação Única', '2': 'Nome', '3': 'CPF', '4':   'Cargo', '5':   'Especialidade', '6':   'Natureza do Cargo', '7':   'Carreira', '8':    'Sigla e Nível da Função de Confiança / Cargo em Comissão', '9': 'Atribuição do cargo comissionado / função de confiança', '10':    'Data de Nascimento', '11': 'Data de Exercício no Cargo Atual', '12':   'Data de Ingresso no Serviço Público', '13':    'Data de Ingresso na Carreira', '14':   'Data de Aposentadoria', '15':  'Data de Óbito', '16':  'Data de Exclusão', '17':   'Tempo de Contribuição', '18':  'Situação Funcional', '19': 'Categoria da Situação', '20':  'Origem', '21': 'Jornada', '22': 'Mês da folha/Ano', '23':  'Tipo de Competência', '24':    'Sequência da Folha', '25': 'Código Rubrica', '26': 'Descrição da Rubrica', '27':   'Código Rendimento Desconto', '28': 'Tipo da rubrica', '29':    'Valor', '30':  'Fundamento constitucional e legal da aposentadoria', '31': 'Proporção da aposentadoria'})

How is the dataframe - numeric columns Figura 1 - Como o DF está The result I want to get - columns with names Figura 2 - Como quero que fique

1 answer

0


You can specify the excel row that will be the name of the dataframe columns as follows:

 pd.read_excel('tmp.xlsx', index_col=0)

more information on : pandas.read_excel

just modifying, for your case would be:

colunas= f0719.iloc[0]
new_f0719  = pd.DataFrame(f0719.values[1:], columns=colunas)

and without creating a new dataframe:

f0719.rename(columns=f0719.iloc[0])
f0719.drop(f0719.index[0])
  • But once I’ve imported, there’s no other way to just modify?

  • The second command did not work, but the first one worked. Thank you.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.