it-swarm.com.de

Zeilenindexwerte von Pandas DataFrame als Liste abrufen?

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?

47
TravisVOX

Um die index-Werte als list/list von Tuples 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
95
Phillip Cloud

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.

0
smci