¿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.@denfromufa
eso, debería tomar un dict como parámetros para construir desde pandas.DataFramedf.index.names
lugar 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ámetroindex
ycolumns
:Eliminar los nombres de índice y columnas significa configurarlo en
None
:Si
MultiIndex
solo 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.names
lugar.name
y 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.name
debería hacer el truco.Python tiene una
dir
funció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.values
tambié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.names
da los nombres de un índice múltiple (como una lista congelada).fuente
Simplemente obtener los nombres de las columnas de índice
df.index.names
funcionará 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