Wie erhalte ich den Namen der Indexspalte in Python-Pandas? Hier ist ein Beispiel für einen Datenrahmen:
Column 1
Index Title
Apples 1
Oranges 2
Puppies 3
Ducks 4
Ich versuche, den Titel des Datenrahmenindex abzurufen / festzulegen. Folgendes habe ich versucht:
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
Weiß jemand, wie man das macht?
python
pandas
dataframe
columnname
Radikaler Edward
quelle
quelle
pd.DataFrame(values,index={"INDEX_NAME":index_values})
. Ich verstehe nicht, warum dies nicht erlaubt oder implementiert ist?@denfromufa
dass für die Erstellung aus pandas ein Diktat erforderlich ist. DataFramedf.index.names
anstelle vondf.index.name
.Sie können
rename_axis
zum Entfernen Folgendes verwendenNone
:Die neue Funktionalität funktioniert gut in Methodenketten.
Sie können auch Spaltennamen mit dem Parameter umbenannt
axis
:Ab Version
pandas 0.24.0+
ist möglich Parameter verwendenindex
undcolumns
:Wenn Sie Index- und Spaltennamen entfernen, müssen Sie Folgendes festlegen
None
:Wenn nur
MultiIndex
im Index:Wenn Sie Index- und Spaltennamen entfernen, müssen Sie Folgendes festlegen
None
:Denn
MultiIndex
in Index und Spalten muss.names
stattdessen mit gearbeitet.name
und durch Liste oder Tupel festgelegt werden:Für die Überprüfung / Einstellung von Werten ist Plural erforderlich:
Wenn Sie Index- und Spaltennamen entfernen, müssen Sie Folgendes festlegen
None
:Und @ Jeff Lösung:
quelle
df.index.rename('foo', inplace=True)
Artikel vorschlägt,df.index.name
sollte den Trick machen.Python verfügt über eine
dir
Funktion, mit der Sie Objektattribute abfragen können.dir(df.index)
war hier hilfreich.quelle
Verwenden Sie
df.index.rename('foo', inplace=True)
diese Option , um den Indexnamen festzulegen.Scheint, dass diese API seit Pandas 0.13 verfügbar ist .
quelle
Wenn Sie keine neue Zeile erstellen möchten, sondern diese einfach in die leere Zelle einfügen möchten, verwenden Sie:
Andernfalls verwenden Sie:
quelle
df.columns.values
Geben Sie uns auch die Spaltennamenquelle
Die Lösung für Multi-Indizes befindet sich in Jezraels zyklopädischer Antwort, aber es hat eine Weile gedauert, bis ich sie gefunden habe, sodass ich eine neue Antwort veröffentliche:
df.index.names
gibt die Namen eines Multi-Index an (als Frozenlist).quelle
Um nur die Indexspaltennamen zu erhalten
df.index.names
Indexspaltennamen zu erhalten, funktioniert dies sowohl für einen einzelnen Index als auch für MultiIndex ab der neuesten Version von Pandas.Als jemand, der dies fand, während er versuchte, den besten Weg zu finden, um eine Liste von Indexnamen + Spaltennamen zu erhalten, hätte ich diese Antwort nützlich gefunden:
Dies funktioniert für keinen Index, einspaltigen Index oder MultiIndex. Es wird vermieden, reset_index () aufzurufen, was für eine so einfache Operation einen unnötigen Leistungseinbruch zur Folge hat. Ich bin überrascht, dass es dafür keine eingebaute Methode gibt (auf die ich gestoßen bin). Ich glaube, ich brauche das öfter, weil ich Daten aus Datenbanken pendle, in denen der Datenrahmenindex einem Primär- / eindeutigen Schlüssel zugeordnet ist, aber für mich wirklich nur eine weitere Spalte ist.
quelle
Das Festlegen des Indexnamens kann auch bei der Erstellung erfolgen:
quelle