1369 Stimmen

Erhalten Sie eine Liste von Pandas DataFrame-Spaltenüberschriften

Ich möchte eine Liste der Spaltenüberschriften aus einem Pandas DataFrame erhalten. Das DataFrame wird vom Benutzer eingegeben, daher werde ich nicht wissen, wie viele Spalten es geben wird oder wie sie genannt werden.

Zum Beispiel, wenn ich ein DataFrame wie dieses gegeben habe:

    y  gdp  cap
0   1    2    5
1   2    3    9
2   8    7    2
3   3    4    7
4   6    7    7
5   4    8    3
6   8    2    8
7   9    9   10
8   6    6    4
9  10   10    7

Ich würde eine Liste wie diese erhalten:

['y', 'gdp', 'cap']

0voto

AliAlavi Punkte 162

Es ist der einfache Code für dich :

für i in meinem_dataframe:
    print(i)

Mach einfach

0voto

not a robot Punkte 3525

Es loable señalar que casi no hay razón para convertir los encabezados de columna en una lista. DataFrame.columns devolverá un objeto Index/MultiIndex que se puede indexar, cortar y añadir de manera similar a una lista. De hecho, dado que es similar a un array de numpy, puedes indexar usando una lista (lo que no puedes hacer con una lista).

Algunas tareas comunes:

df = pd.DataFrame({'A': range(5), 'B': range(6, 11), 'C': list('abcde')})

primer_encabezado_col = df.columns[0]                       # 1er encabezado de columna
primer_tercer_encabezados =  df.columns[[0,2]]               # 1er y 3er encabezado de columna
df.columns = df.columns[:-1].append(pd.Index(['col5']))      # añadir un valor
np.tile(df.columns, 2)      # == list(df)*2                  # repetir encabezados
df.columns.repeat(2)        # == [c for c in df for _ in range(2)]

Sin embargo, si estás aquí porque quieres convertir los valores de una columna en una lista, entonces tolist() es tu amigo:

lst = df['B'].tolist()

0voto

Wenn Sie Pandas verwenden, verwenden Sie folgendes

import pandas as pd
df = pd.read_csv(r'iris.csv')
#print(df.head(2))
# Dataframe zeigt alle Spalten
print(df.keys())

Sie können das kommentierte print(df.head(2)) aktivieren, um Header und 2 Zeilen der Daten zu sehen.

-1voto

Auch wenn die zuvor bereitgestellte Lösung schön ist, würde ich auch erwarten, dass etwas wie frame.column_names() eine Funktion in Pandas ist, aber da es das nicht ist, wäre es vielleicht nett, die folgende Syntax zu verwenden. Es bewahrt irgendwie das Gefühl, dass man Pandas auf eine korrekte Weise verwendet, indem man die "tolist" Funktion aufruft: frame.columns.tolist()

frame.columns.tolist()

-1voto

Spesh Punkte 9

ListHeaders = [colName für colName in my_dataframe]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X