Como obtenho o nome da coluna de índice nos pandas python? Aqui está um exemplo de quadro de dados:
Column 1
Index Title
Apples 1
Oranges 2
Puppies 3
Ducks 4
O que estou tentando fazer é obter / definir o título do índice do quadro de dados. Aqui está o que eu tentei:
import pandas as pd
data = {'Column 1' : [1., 2., 3., 4.],
'Index Title' : ["Apples", "Oranges", "Puppies", "Ducks"]}
df = pd.DataFrame(data)
df.index = df["Index Title"]
del df["Index Title"]
print df
Alguém sabe como fazer isto?
python
pandas
dataframe
columnname
Radical Edward
fonte
fonte
pd.DataFrame(values,index={"INDEX_NAME":index_values})
. Não entendo por que isso não é permitido ou implementado?@denfromufa
que ele deve tomar um dicionário como parâmetros para a construção de pandas.DataFramedf.index.names
vez dedf.index.name
.Você pode usar
rename_axis
, para remover o conjunto paraNone
:A nova funcionalidade funciona bem em cadeias de métodos.
Você também pode renomear nomes de colunas com o parâmetro
axis
:A partir da versão
pandas 0.24.0+
é possível, use o parâmetroindex
ecolumns
:Remover nomes de índice e colunas significa configurá-lo para
None
:Se
MultiIndex
apenas no índice:Remover nomes de índice e colunas significa configurá-lo para
None
:Para
MultiIndex
no índice e nas colunas é necessário trabalhar em.names
vez disso.name
e definir por lista ou tuplas:O plural é necessário para verificar / definir valores:
Remover nomes de índice e colunas significa configurá-lo para
None
:E a solução @Jeff:
fonte
df.index.rename('foo', inplace=True)
ver pandas.pydata.org/pandas-docs/stable/generated/...df.index.name
deve fazer o truque.Python tem uma
dir
função que permite consultar atributos de objetos.dir(df.index)
foi útil aqui.fonte
Use
df.index.rename('foo', inplace=True)
para definir o nome do índice.Parece que esta API está disponível desde os pandas 0.13 .
fonte
Se você não deseja criar uma nova linha, basta colocá-la na célula vazia e use:
Caso contrário, use:
fonte
df.columns.values
também nos fornece os nomes das colunasfonte
A solução para vários índices está na resposta ciclopédica de jezrael, mas demorei um pouco para encontrá-la, por isso estou postando uma nova resposta:
df.index.names
fornece os nomes de um índice múltiplo (como uma lista congelada).fonte
Para obter apenas o índice, os nomes das colunas
df.index.names
funcionarão para um único índice ou MultiIndex na versão mais recente do pandas.Como alguém que encontrou isso enquanto tentava encontrar a melhor maneira de obter uma lista de nomes de índices + nomes de colunas, eu teria achado esta resposta útil:
Isso funciona para nenhum índice, índice de coluna única ou MultiIndex. Evita chamar reset_index () que possui um desempenho desnecessário para uma operação tão simples. Estou surpreso que não exista um método incorporado para isso (que eu já deparei). Acho que estou precisando disso com mais frequência porque estou transferindo dados de bancos de dados nos quais o índice do quadro de dados é mapeado para uma chave primária / exclusiva, mas na verdade é apenas mais uma coluna para mim.
fonte
A configuração do nome do índice também pode ser realizada na criação:
fonte