Pandas DataFrame-Spalte in Liste umwandeln

Usama Imtiaz 13 September 2023
  1. Verwenden der Methode tolist(), um eine Dataframe-Spalte in eine Liste zu konvertieren
  2. Verwenden der Funktion list(), um eine Dataframe-Spalte in eine Liste zu konvertieren
  3. Verwenden der Eigenschaft .values, um eine Dataframe-Spalte in eine Liste zu konvertieren
  4. Verwendung der List Comprehension, um eine DataFrame-Spalte in eine Liste zu konvertieren
  5. Fazit
Pandas DataFrame-Spalte in Liste umwandeln

Wenn Sie mit Pandas DataFrames in Python arbeiten, müssen Sie möglicherweise oft eine Spalte Ihres DataFrames in eine Python-Liste konvertieren. Dieser Vorgang kann für verschiedene Datenaufbereitungs- und Analyseaufgaben entscheidend sein. Glücklicherweise bietet Pandas mehrere Methoden, um dies zu erreichen, so dass es einfach ist, die benötigten Daten in Listenform zu extrahieren.

In diesem Artikel werden wir verschiedene Methoden erkunden, um eine Pandas DataFrame-Spalte in eine Python-Liste zu konvertieren. Wir werden diese Methoden anhand eines BeispieldataFrames demonstrieren, der Informationen über Namen, Geburtsdaten (DOB) und Gehälter enthält.

import pandas as pd

data = {
    "Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
    "DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
    "Salary": ["1000", "12000", "36000", "15000", "12000"],
}

df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])

Wir werden vier verschiedene Methoden erkunden, um diese Konvertierung durchzuführen: die Verwendung der Methode tolist(), die Verwendung der Funktion list(), die Verwendung der Eigenschaft .values und die Verwendung von List Comprehension. Jede Methode hat ihre Vorteile, also tauchen wir ein.

Verwenden der Methode tolist(), um eine Dataframe-Spalte in eine Liste zu konvertieren

Eine Spalte im Pandas DataFrame ist eine Pandas-Serie. Wenn wir also eine Spalte in eine Liste konvertieren müssen, können wir die tolist()-Methode in der Serie verwenden. tolist() konvertiert die Serie des Pandas DataFrames in eine Liste.

Im folgenden Code gibt df['DOB'] die Serie oder Spalte mit dem Namen DOB des DataFrames zurück.

Die Methode tolist() konvertiert die Serie in eine Liste.

import pandas as pd

df = pd.DataFrame(
    [
        ["James", "1/1/2014", "1000"],
        ["Michelina", "2/1/2014", "12000"],
        ["Marc", "3/1/2014", "36000"],
        ["Bob", "4/1/2014", "15000"],
        ["Halena", "4/1/2014", "12000"],
    ],
    columns=["Name", "DOB", "Salary"],
)

print("Pandas DataFrame:\n\n", df, "\n")

list_of_single_column = df["DOB"].tolist()

print(
    "the list of a single column from the dataframe\n",
    list_of_single_column,
    "\n",
    type(list_of_single_column),
)

Ausgabe:

Pandas DataFrame:

         Name       DOB Salary
0      James  1/1/2014   1000
1  Michelina  2/1/2014  12000
2       Marc  3/1/2014  36000
3        Bob  4/1/2014  15000
4     Halena  4/1/2014  12000 

the list of a single column from the dataframe
 ['1/1/2014', '2/1/2014', '3/1/2014', '4/1/2014', '4/1/2014'] 
 <class 'list'>

Verwenden der Funktion list(), um eine Dataframe-Spalte in eine Liste zu konvertieren

Wir können auch die Funktion list() verwenden, um eine DataFrame-Spalte in eine Liste zu konvertieren, indem wir den DataFrame an die Funktion list() übergeben.

Wir verwenden die oben genannten Daten, um diesen Ansatz zu demonstrieren.

import pandas as pd

df = pd.DataFrame(
    [
        ["James", "1/1/2014", "1000"],
        ["Michelina", "2/1/2014", "12000"],
        ["Marc", "3/1/2014", "36000"],
        ["Bob", "4/1/2014", "15000"],
        ["Halena", "4/1/2014", "12000"],
    ],
    columns=["Name", "DOB", "Salary"],
)

print("Pandas DataFrame:\n\n", df, "\n")

list_of_single_column = list(df["DOB"])

print(
    "the list of a single column from the dataframe\n",
    list_of_single_column,
    "\n",
    type(list_of_single_column),
)

Ausgabe:

Pandas DataFrame:

         Name       DOB Salary
0      James  1/1/2014   1000
1  Michelina  2/1/2014  12000
2       Marc  3/1/2014  36000
3        Bob  4/1/2014  15000
4     Halena  4/1/2014  12000 

the list of a single column from the dataframe
 ['1/1/2014', '2/1/2014', '3/1/2014', '4/1/2014', '4/1/2014'] 
 <class 'list'>

Verwenden der Eigenschaft .values, um eine Dataframe-Spalte in eine Liste zu konvertieren

Eine andere Möglichkeit, dies zu erreichen, besteht darin, die Eigenschaft .values zu verwenden.

Lassen Sie uns die Schritte durchgehen, um die ‘Salary’-Spalte dieses DataFrames in eine Python-Liste mit Hilfe der Eigenschaft .values umzuwandeln.

Die Eigenschaft .values einer Pandas-Serie gibt eine NumPy-Array-Repräsentation der Daten zurück. Um es in eine Python-Liste umzuwandeln, können Sie die Methode .tolist() verwenden. So geht’s:

salary_list = df["Salary"].values.tolist()

Hier ist der vollständige Code:

import pandas as pd

data = {
    "Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
    "DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
    "Salary": ["1000", "12000", "36000", "15000", "12000"],
}

df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])

# Convert the 'Salary' column to a list using .values
salary_list = df["Salary"].values.tolist()

print(salary_list)

Ausgabe:

['1000', '12000', '36000', '15000', '12000']

Nach Ausführung dieses Codes wird die Salary-Spalte des DataFrame in eine Python-Liste konvertiert, die in der Variable salary_list gespeichert wird.

Verwendung der List Comprehension, um eine DataFrame-Spalte in eine Liste zu konvertieren

Die List Comprehension ist eine prägnante und effiziente Methode, um in Python Listen zu erstellen. Um eine Spalte eines Pandas DataFrame mithilfe von List Comprehension in eine Python-Liste zu konvertieren, können Sie den folgenden Code verwenden.

# Using list comprehension to convert the 'Salary' column to a list
salary_list = [salary for salary in df["Salary"]]

Hier ist der vollständige Code:

import pandas as pd

data = {
    "Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
    "DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
    "Salary": [1000, 12000, 36000, 15000, 12000],
}

df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])

# Using list comprehension to convert the 'Salary' column to a list
salary_list = [salary for salary in df["Salary"]]

print(salary_list)

Output:

[1000, 12000, 36000, 15000, 12000]

Fazit

In diesem Artikel haben wir vier verschiedene Methoden erkundet, um eine Pandas DataFrame-Spalte in eine Python-Liste zu konvertieren: die Verwendung der Methode tolist(), der Funktion list(), der Eigenschaft .values und der List Comprehension. Jede Methode hat ihre Vorteile und kann je nach Ihrem spezifischen Anwendungsfall und Ihrem Programmierstil gewählt werden.

Ob Sie die Einfachheit der Methode tolist() bevorzugen, den standardmäßigen Pythonic-Ansatz der Funktion list(), die Effizienz der Eigenschaft .values oder die Lesbarkeit der List Comprehension - Pandas bietet Ihnen mehrere Optionen, um Ihre DataFrame-Spalten nahtlos in Python-Listen umzuwandeln.

Verwandter Artikel - Pandas DataFrame Column

Verwandter Artikel - Pandas DataFrame