Ich verwende wahrscheinlich schlechte Suchbegriffe, um diese Antwort zu finden. Vor der Indizierung eines DataFrame erhalte ich auf diese Weise eine Liste von Werten in einer Spalte ...
list = list(df['column'])
... dann werde ich set_index
in der Spalte. Dies scheint ein verschwendeter Schritt zu sein. Beim Ausprobieren des obigen Indexes erhalte ich einen Schlüsselfehler.
Wie kann ich die Werte in einem Index (sowohl Single als auch Multi) in eine Liste oder eine Liste von Tupeln aufnehmen?
Um die index
-Werte als list
/list
von Tuple
s für Index
/MultiIndex
zu erhalten, führen Sie Folgendes aus:
df.index.values.tolist() # an ndarray method, you probably shouldn't depend on this
oder
list(df.index.values) # this will always work in pandas
Wenn Sie diese nur manuell an df.set_index()
übergeben, ist dies nicht erforderlich. Machen Sie einfach direkt df.set_index['your_col_name', drop=False]
.
In Pandas ist es sehr selten, dass Sie einen Index als Python-Liste erhalten müssen (es sei denn, Sie machen etwas ziemlich unkonventionelles oder geben sie an NumPy zurück). Wenn Sie dies häufig tun, ist dies ein Codegeruch du machst etwas falsch.