Comment obtenir le nom de la colonne d'index dans les pandas python? Voici un exemple de trame de données:
Column 1
Index Title
Apples 1
Oranges 2
Puppies 3
Ducks 4
Ce que j'essaie de faire est d'obtenir / définir le titre de l'index de la trame de données. Voici ce que j'ai essayé:
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
Quelqu'un sait-il comment faire ça?
python
pandas
dataframe
columnname
Radical Edward
la source
la source
pd.DataFrame(values,index={"INDEX_NAME":index_values})
. Je ne comprends pas pourquoi cela n'est pas autorisé ou mis en œuvre?@denfromufa
qu'il devrait prendre un dict comme paramètres à construire à partir de pandas.DataFramedf.index.names
place dedf.index.name
.Vous pouvez utiliser
rename_axis
, pour supprimer l'ensemble défini surNone
:La nouvelle fonctionnalité fonctionne bien dans les chaînes de méthodes.
Vous pouvez également renommer les noms de colonne avec le paramètre
axis
:A partir de la version
pandas 0.24.0+
est possible utiliser le paramètreindex
etcolumns
:La suppression des noms d'index et de colonnes signifie la définir sur
None
:Si
MultiIndex
dans l'index uniquement:La suppression des noms d'index et de colonnes signifie qu'il doit être défini sur
None
:Pour
MultiIndex
dans l'index et les colonnes est nécessaire de travailler avec.names
place.name
et défini par liste ou tuples:Le pluriel est nécessaire pour vérifier / régler les valeurs:
La suppression des noms d'index et de colonnes signifie qu'il doit être défini sur
None
:Et la solution @Jeff:
la source
df.index.rename('foo', inplace=True)
voir pandas.pydata.org/pandas-docs/stable/generated/…df.index.name
devrait faire l'affaire.Python a une
dir
fonction qui vous permet d'interroger les attributs des objets.dir(df.index)
a été utile ici.la source
Utilisez
df.index.rename('foo', inplace=True)
pour définir le nom de l'index.Il semble que cette API soit disponible depuis les pandas 0.13 .
la source
Si vous ne souhaitez pas créer une nouvelle ligne mais simplement la mettre dans la cellule vide, utilisez:
Sinon, utilisez:
la source
df.columns.values
donnez-nous également les noms des colonnesla source
La solution pour les multi-index se trouve dans la réponse cyclopédique de jezrael, mais il m'a fallu un certain temps pour la trouver, donc je poste une nouvelle réponse:
df.index.names
donne les noms d'un multi-index (comme une liste gelée).la source
Pour obtenir simplement les noms des colonnes d'index
df.index.names
cela fonctionnera pour un seul index ou multi-index à partir de la version la plus récente de pandas.En tant que personne qui a trouvé cela en essayant de trouver la meilleure façon d'obtenir une liste de noms d'index + noms de colonnes, j'aurais trouvé cette réponse utile:
Cela fonctionne pour aucun index, Index à colonne unique ou MultiIndex. Il évite d'appeler reset_index () qui a un impact de performance inutile pour une opération aussi simple. Je suis surpris qu'il n'y ait pas de méthode intégrée pour cela (que j'ai rencontré). Je suppose que j'en ai besoin plus souvent parce que je transfère des données à partir de bases de données où l'index de la trame de données correspond à une clé primaire / unique, mais n'est vraiment qu'une autre colonne pour moi.
la source
La définition du nom d'index peut également être effectuée lors de la création:
la source