Pandas DataFrames erstellen

PandasBeginner
Jetzt üben

Einführung

Willkommen in der Welt der Datenmanipulation mit Pandas! Ein DataFrame ist eine zweidimensionale, größenveränderliche und potenziell heterogene tabellarische Datenstruktur mit beschrifteten Achsen (Zeilen und Spalten). Es ist eine der am häufigsten verwendeten Datenstrukturen in der modernen Datenanalyse.

In diesem Lab lernen Sie die grundlegenden Methoden zur Erstellung eines Pandas DataFrame kennen. Wir beginnen mit der Erstellung eines DataFrame aus einem einfachen Python-Dictionary und erkunden dann, wie Sie dessen Spalten und Index anpassen können. Sie werden alle Aufgaben innerhalb der WebIDE ausführen und Python-Skripte schreiben und ausführen.

DataFrame aus Dictionary erstellen

In diesem Schritt lernen Sie die gängigste Methode zur Erstellung eines Pandas DataFrame kennen: aus einem Python-Dictionary. Wenn Sie ein Dictionary verwenden, werden die Schlüssel zu den Spaltennamen und die Werte (typischerweise Listen oder Arrays) zu den Daten in diesen Spalten.

Öffnen Sie zuerst die Datei main.py im Dateiexplorer auf der linken Seite Ihrer WebIDE.

Fügen Sie nun den folgenden Code zur Datei main.py hinzu. Dieser Code importiert die Pandas-Bibliothek und definiert ein Dictionary mit Studentendaten. Anschließend wird pd.DataFrame() verwendet, um das Dictionary in einen DataFrame umzuwandeln, und das Ergebnis wird ausgegeben.

import pandas as pd

## Daten in einem Dictionary
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## DataFrame aus dem Dictionary erstellen
df = pd.DataFrame(student_data)

## DataFrame ausgeben
print(df)

Um Ihr Skript auszuführen, öffnen Sie ein Terminal in der WebIDE (Terminal -> New Terminal) und führen Sie den folgenden Befehl aus. Alle Ihre Arbeiten sollten im Verzeichnis ~/project erfolgen.

python3 main.py

Sie sollten die folgende Ausgabe sehen, die Ihre Dictionary-Daten ordentlich in einer Tabelle mit Standard-Zeilenindizes ab 0 organisiert darstellt.

      Name  Score
0    Alice     85
1      Bob     92
2  Charlie     78

Spaltennamen im DataFrame festlegen

In diesem Schritt lernen Sie, wie Sie die Reihenfolge der Spalten in Ihrem DataFrame steuern können. Standardmäßig behält Pandas möglicherweise nicht die Reihenfolge der Schlüssel aus Ihrem Dictionary bei. Sie können die Spaltenreihenfolge explizit definieren, indem Sie eine Liste von Spaltennamen an den Parameter columns übergeben.

Lassen Sie uns die Datei main.py ändern, um die Spaltenreihenfolge festzulegen. Wir werden die Spalten 'Name' und 'Score' vertauschen.

Aktualisieren Sie Ihre main.py-Datei mit dem folgenden Code. Beachten Sie die Hinzufügung des Parameters columns in der Funktion pd.DataFrame().

import pandas as pd

## Daten in einem Dictionary
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## DataFrame erstellen und Spaltenreihenfolge festlegen
df = pd.DataFrame(student_data, columns=['Score', 'Name'])

## DataFrame ausgeben
print(df)

Führen Sie das Skript nun erneut in Ihrem Terminal aus:

python3 main.py

Die Ausgabe zeigt nun zuerst die Spalte 'Score', wie Sie es angegeben haben.

   Score     Name
0     85    Alice
1     92      Bob
2     78  Charlie

Index-Labels zum DataFrame hinzufügen

In diesem Schritt lernen Sie, wie Sie den standardmäßigen numerischen Index (0, 1, 2, ...) durch aussagekräftigere Labels ersetzen können. Dies geschieht mithilfe des Parameters index, der es Ihnen ermöglicht, jeder Zeile einen benutzerdefinierten Index zuzuweisen.

Weisen wir eindeutige Studenten-IDs als Index für unseren DataFrame zu. Ändern Sie Ihre main.py-Datei, um eine Liste von Index-Labels einzufügen.

Aktualisieren Sie den Code in main.py wie folgt:

import pandas as pd

## Daten in einem Dictionary
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Benutzerdefinierte Index-Labels definieren
index_labels = ['ID1', 'ID2', 'ID3']

## DataFrame mit benutzerdefiniertem Index erstellen
df = pd.DataFrame(student_data, index=index_labels)

## DataFrame ausgeben
print(df)

Führen Sie das Skript von Ihrem Terminal aus:

python3 main.py

Sie sehen nun, dass der standardmäßige numerische Index durch Ihre benutzerdefinierten 'ID'-Labels ersetzt wurde.

        Name  Score
ID1    Alice     85
ID2      Bob     92
ID3  Charlie     78

Zugriff auf DataFrame-Spalten mit Punktnotation

In diesem Schritt lernen Sie eine praktische Methode kennen, um auf eine einzelne Spalte eines DataFrames zuzugreifen: die Punktnotation. Wenn der Name einer Spalte ein gültiger Python-Bezeichner ist (keine Leerzeichen, beginnt nicht mit einer Zahl usw.), können Sie darauf als Attribut des DataFrame-Objekts zugreifen.

Verwenden wir die Punktnotation, um nur die Spalte 'Name' aus unserem DataFrame auszuwählen und auszugeben.

Ändern Sie Ihre main.py-Datei, um auf die Spalte Name zuzugreifen und sie auszugeben.

import pandas as pd

## Data in a dictionary
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Create DataFrame
df = pd.DataFrame(student_data)

## Access and print the 'Name' column using dot notation
print(df.Name)

Führen Sie das Skript in Ihrem Terminal aus:

python3 main.py

Die Ausgabe ist eine Pandas Series, die im Wesentlichen eine einzelne Spalte eines DataFrames darstellt.

0      Alice
1        Bob
2    Charlie
Name: Name, dtype: object

DataFrame-Informationen mit der info-Methode anzeigen

In diesem Schritt lernen Sie die Verwendung der .info()-Methode kennen. Dies ist eine wesentliche Funktion, die eine prägnante Zusammenfassung eines DataFrames liefert, einschließlich der Datentypen jeder Spalte, der Anzahl nicht-null-Werte und der Speichernutzung. Es ist ein großartiger erster Schritt bei der Erkundung eines neuen Datensatzes.

Wenden wir die .info()-Methode auf unseren Studenten-DataFrame an.

Ändern Sie die Datei main.py, um diese Methode aufzurufen. Beachten Sie, dass .info() die Zusammenfassung direkt ausgibt, sodass Sie sie nicht in eine print()-Funktion einschließen müssen.

import pandas as pd

## Data in a dictionary
student_data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Score': [85, 92, 78]
}

## Create DataFrame
df = pd.DataFrame(student_data)

## Display a summary of the DataFrame
df.info()

Führen Sie das Skript von Ihrem Terminal aus:

python3 main.py

Die Ausgabe liefert Ihnen einen detaillierten Überblick über die Struktur und den Inhalt Ihres DataFrames.

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
 ##   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   Name    3 non-null      object
 1   Score   3 non-null      int64
dtypes: int64(1), object(1)
memory usage: 176.0+ bytes

Zusammenfassung

Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben die grundlegenden Techniken zum Erstellen und Untersuchen von Pandas DataFrames gelernt.

In diesem Lab haben Sie Folgendes gemeistert:

  • Erstellen eines DataFrames aus einem Python-Dictionary.
  • Festlegen und Neuordnen von Spalten mithilfe des columns-Parameters.
  • Zuweisen benutzerdefinierter Zeilenbeschriftungen mithilfe des index-Parameters.
  • Zugreifen auf eine bestimmte Spalte mithilfe der praktischen Punktnotation.
  • Abrufen einer prägnanten Zusammenfassung der DataFrame-Struktur mit der .info()-Methode.

Diese Fähigkeiten sind die wesentlichen ersten Schritte für jede Datenanalyseaufgabe mit Pandas. Sie sind nun gut gerüstet, um mit der Erstellung Ihrer eigenen Datensätze für weitere Erkundungen zu beginnen.