¿Cómo obtengo el nombre de la columna de índice en los pandas de Python? Aquí hay un marco de datos de ejemplo:
Column 1
Index Title
Apples 1
Oranges 2
Puppies 3
Ducks 4
Lo que intento hacer es obtener / establecer el título del índice del marco de datos. Esto es lo que probé:
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
Alguien sabe cómo hacer esto?
python
pandas
dataframe
columnname
Edward radical
fuente
fuente

pd.DataFrame(values,index={"INDEX_NAME":index_values}). No entiendo por qué esto no está permitido o implementado.@denfromufaeso, debería tomar un dict como parámetros para construir desde pandas.DataFramedf.index.nameslugar dedf.index.name.Puede usar
rename_axis, para eliminar el conjunto aNone:La nueva funcionalidad funciona bien en cadenas de métodos.
También puede cambiar el nombre de las columnas con el parámetro
axis:Desde la versión
pandas 0.24.0+es posible usar el parámetroindexycolumns:Eliminar los nombres de índice y columnas significa configurarlo en
None:Si
MultiIndexsolo está en el índice:Eliminar los nombres de índice y columnas significa configurarlo en
None:En el
MultiIndexíndice y las columnas es necesario trabajar en su.nameslugar.namey establecer por lista o tuplas:Plural es necesario para verificar / establecer valores:
Eliminar los nombres de índice y columnas significa configurarlo en
None:Y la solución @Jeff:
fuente
df.index.rename('foo', inplace=True)ver pandas.pydata.org/pandas-docs/stable/generated/…df.index.namedebería hacer el truco.Python tiene una
dirfunción que le permite consultar los atributos del objeto.dir(df.index)Fue útil aquí.fuente
Use
df.index.rename('foo', inplace=True)para establecer el nombre del índice.Parece que esta API está disponible desde pandas 0.13 .
fuente
Si no desea crear una nueva fila, sino simplemente ponerla en la celda vacía, use:
De lo contrario, use:
fuente
df.columns.valuestambién nos dan los nombres de las columnasfuente
La solución para los índices múltiples está dentro de la respuesta ciclopédica de Israel, pero me tomó un tiempo encontrarla, así que estoy publicando una nueva respuesta:
df.index.namesda los nombres de un índice múltiple (como una lista congelada).fuente
Simplemente obtener los nombres de las columnas de índice
df.index.namesfuncionará tanto para un solo índice como para MultiIndex a partir de la versión más reciente de los pandas.Como alguien que encontró esto mientras trataba de encontrar la mejor manera de obtener una lista de nombres de índice + nombres de columna, esta respuesta me habría resultado útil:
Esto funciona para ningún índice, índice de columna única o índice múltiple. Evita llamar a reset_index () que tiene un impacto de rendimiento innecesario para una operación tan simple. Me sorprende que no haya un método integrado para esto (que he encontrado). Supongo que necesito esto más a menudo porque estoy transfiriendo datos de bases de datos donde el índice del marco de datos se asigna a una clave primaria / única, pero en realidad es solo otra columna para mí.
fuente
Establecer el nombre del índice también se puede lograr en la creación:
fuente