So erstellen Sie einen Pandas DataFrame [mit Beispielen]
Veröffentlicht: 2022-12-08Lernen Sie die Grundlagen der Arbeit mit Pandas DataFrames kennen: die grundlegende Datenstruktur in Pandas, einer leistungsstarken Datenmanipulationsbibliothek.
Wenn Sie mit der Datenanalyse in Python beginnen möchten, ist Pandas eine der ersten Bibliotheken, mit denen Sie arbeiten lernen sollten. Vom Importieren von Daten aus mehreren Quellen wie CSV-Dateien und Datenbanken bis hin zum Umgang mit fehlenden Daten und deren Analyse, um Erkenntnisse zu gewinnen – mit Pandas können Sie all das tun.
Um mit der Analyse von Daten mit Pandas zu beginnen, sollten Sie die grundlegende Datenstruktur in Pandas verstehen: Datenrahmen .
In diesem Lernprogramm lernen Sie die Grundlagen von Pandas-Datenrahmen und allgemeine Methoden zum Erstellen von Datenrahmen kennen. Anschließend erfahren Sie, wie Sie Zeilen und Spalten aus dem Datenrahmen auswählen, um Teilmengen von Daten abzurufen.
Lassen Sie uns für all dies und mehr loslegen.
Installieren und Importieren von Pandas
Da Pandas eine Datenanalysebibliothek eines Drittanbieters ist, sollten Sie sie zuerst installieren. Es wird empfohlen, externe Pakete in einer virtuellen Umgebung für Ihr Projekt zu installieren.
Wenn Sie die Anaconda-Distribution von Python verwenden, können Sie conda
für die Paketverwaltung verwenden.
conda install pandas
Sie können Pandas auch mit Pip installieren:
pip install pandas
Die Pandas-Bibliothek benötigt NumPy als Abhängigkeit. Wenn NumPy also noch nicht installiert ist, wird es während des Installationsvorgangs ebenfalls installiert.
Nach der Installation von Pandas können Sie es in Ihre Arbeitsumgebung importieren. Im Allgemeinen wird Pandas unter dem Alias pd
importiert:
import pandas as pd
Was ist ein DataFrame in Pandas?

Die grundlegende Datenstruktur in Pandas ist der Datenrahmen . Ein Datenrahmen ist ein zweidimensionales Array von Daten mit beschriftetem Index und benannten Spalten. Jede Spalte im Datenrahmen, die als Pandas -Serie bezeichnet wird, teilt sich einen gemeinsamen Index.
Hier ist ein Beispieldatenrahmen, den wir in den nächsten Minuten von Grund auf neu erstellen werden. Dieser Datenrahmen enthält Daten darüber, wie viel sechs Studenten in vier Wochen ausgeben.

Die Namen der Schüler sind die Zeilenbeschriftungen. Und die Spalten heißen „Week1“ bis „Week4“. Beachten Sie, dass alle Spalten denselben Satz von Zeilenbeschriftungen verwenden, der auch als Index bezeichnet wird.
So erstellen Sie einen Pandas DataFrame
Es gibt mehrere Möglichkeiten, einen Pandas-Datenrahmen zu erstellen. In diesem Tutorial werden wir die folgenden Methoden besprechen:
- Erstellen eines Datenrahmens aus NumPy-Arrays
- Erstellen eines Datenrahmens aus einem Python-Wörterbuch
- Erstellen eines Datenrahmens durch Einlesen von CSV-Dateien
Von NumPy-Arrays
Lassen Sie uns einen Datenrahmen aus einem NumPy-Array erstellen.
Erstellen wir das Datenarray der Form (6,4) unter der Annahme, dass jeder Schüler in einer bestimmten Woche zwischen 0 und 100 US-Dollar ausgibt. Die Funktion randint()
aus dem random
von NumPy gibt ein Array zufälliger Ganzzahlen in einem bestimmten Intervall zurück, [low,high)
.
import numpy as np np.random.seed(42) data = np.random.randint(0,101,(6,4)) print(data)
array([[51, 92, 14, 71], [60, 20, 82, 86], [74, 74, 87, 99], [23, 2, 21, 52], [ 1, 87, 29, 37], [ 1, 63, 59, 20]])
Um einen Pandas-Datenrahmen zu erstellen, können Sie den DataFrame
Konstruktor verwenden und das NumPy-Array als data
übergeben, wie gezeigt:
students_df = pd.DataFrame(data=data)
Jetzt können wir die eingebaute Funktion type()
aufrufen, um den Typ von students_df
zu überprüfen. Wir sehen, dass es sich um ein DataFrame
Objekt handelt.
type(students_df) # pandas.core.frame.DataFrame
print(students_df)

Wir sehen, dass wir standardmäßig eine Bereichsindizierung haben, die von 0 bis numRows
– 1 reicht, und die Spaltenbezeichnungen sind 0, 1, 2, …, numCols
-1. Dies verringert jedoch die Lesbarkeit. Es ist hilfreich, dem Datenrahmen aussagekräftige Spaltennamen und Zeilenbeschriftungen hinzuzufügen.
Lassen Sie uns zwei Listen erstellen: eine zum Speichern der Schülernamen und eine andere zum Speichern der Spaltenbeschriftungen.
students = ['Amy','Bob','Chris','Dave','Evelyn','Fanny'] cols = ['Week1','Week2','Week3','Week4']
Beim Aufrufen des DataFrame
Konstruktors können Sie den index
und die columns
auf die Listen der zu verwendenden Zeilenbeschriftungen bzw. Spaltenbeschriftungen festlegen.
students_df = pd.DataFrame(data = data,index = students,columns = cols)
Wir haben jetzt den students_df
mit beschreibenden Zeilen- und Spaltenbeschriftungen.
print(students_df)

Um einige grundlegende Informationen zum Datenrahmen zu erhalten, z. B. fehlende Werte und Datentypen, können Sie die Methode info()
für das Datenrahmenobjekt aufrufen.
students_df.info()

Aus einem Python-Wörterbuch
Sie können auch einen Pandas-Datenrahmen aus einem Python-Wörterbuch erstellen.
Hier ist data_dict
das Wörterbuch, das Schülerdaten enthält:
- Die Namen der Schüler sind der Schlüssel.
- Jeder Wert ist eine Liste, wie viel jeder Schüler in den Wochen eins bis vier ausgibt.
data_dict = {} students = ['Amy','Bob','Chris','Dave','Evelyn','Fanny'] for student,student_data in zip(students,data): data_dict[student] = student_data
Um einen Datenrahmen aus einem Python-Wörterbuch zu erstellen, verwenden from_dict
, wie unten gezeigt. Das erste Argument entspricht dem Wörterbuch, das die Daten enthält ( data_dict
). Standardmäßig werden die Schlüssel als Spaltennamen des Datenrahmens verwendet. Da wir die Schlüssel als Zeilenbeschriftungen festlegen möchten, setzen orient= 'index'
.
students_df = pd.DataFrame.from_dict(data_dict,orient='index') print(students_df)

Um die Spaltennamen in die Wochennummer zu ändern, setzen wir Spalten auf die cols
:

students_df = pd.DataFrame.from_dict(data_dict,orient='index',columns=cols) print(students_df)

Lesen Sie eine CSV-Datei in einen Pandas DataFrame ein
Angenommen, die Schülerdaten sind als CSV-Datei verfügbar. Sie können die Funktion read_csv()
verwenden, um die Daten aus der Datei in einen Pandas-Datenrahmen einzulesen. pd.read_csv('file-path')
ist die allgemeine Syntax, wobei file-path
der Pfad zur CSV-Datei ist. Wir können den Parameter names
auf die Liste der zu verwendenden Spaltennamen setzen.
students_df = pd.read_csv('/content/students.csv',names=cols)
Nachdem wir nun wissen, wie man einen Datenrahmen erstellt, lernen wir, wie man Zeilen und Spalten auswählt.
Wählen Sie Spalten aus einem Pandas DataFrame aus
Es gibt mehrere integrierte Methoden, mit denen Sie Zeilen und Spalten aus einem Datenrahmen auswählen können. In diesem Lernprogramm werden die gängigsten Methoden zum Auswählen von Spalten, Zeilen und sowohl Zeilen als auch Spalten aus einem Datenrahmen beschrieben.
Auswählen einer einzelnen Spalte
Um eine einzelne Spalte auszuwählen, können Sie df_name[col_name]
verwenden, wobei col_name
die Zeichenfolge ist, die den Namen der Spalte angibt.
Hier wählen wir nur die Spalte „Week1“ aus.
week1_df = students_df['Week1'] print(week1_df)

Auswählen mehrerer Spalten
Um mehrere Spalten aus dem Datenrahmen auszuwählen, übergeben Sie die Liste aller auszuwählenden Spaltennamen.
odd_weeks = students_df[['Week1','Week3']] print(odd_weeks)

Zusätzlich zu dieser Methode können Sie auch die Methoden iloc()
und loc()
verwenden, um Spalten auszuwählen. Wir werden später ein Beispiel codieren.
Wählen Sie Zeilen aus einem Pandas DataFrame aus

Verwenden der .iloc()-Methode
Um Zeilen mit der Methode iloc()
auszuwählen, übergeben Sie die Indizes, die allen Zeilen entsprechen, als Liste.
In diesem Beispiel wählen wir die Zeilen mit ungeradem Index aus.
odd_index_rows = students_df.iloc[[1,3,5]] print(odd_index_rows)

Als nächstes wählen wir eine Teilmenge des Datenrahmens aus, der die Zeilen bei Index 0 bis 2 enthält, der Endpunkt 3 ist standardmäßig ausgeschlossen.
slice1 = students_df.iloc[0:3] print(slice1)

Verwenden der .loc()-Methode
Um die Zeilen eines Datenrahmens mit der Methode loc()
auszuwählen, sollten Sie die Beschriftungen entsprechend den Zeilen angeben, die Sie auswählen möchten.
some_rows = students_df.loc[['Bob','Dave','Fanny']] print(some_rows)

Wenn die Zeilen des Datenrahmens mit dem Standardbereich 0, 1, 2 bis zu
numRows
-1 indiziert werden, sind die Verwendung voniloc()
undloc()
beide äquivalent.
Wählen Sie Zeilen und Spalten aus einem Pandas DataFrame aus
Bisher haben Sie gelernt, wie Sie entweder Zeilen oder Spalten aus einem Pandas-Datenrahmen auswählen. Manchmal müssen Sie jedoch möglicherweise eine Teilmenge von Zeilen und Spalten auswählen. Wie machst du das? Sie können die besprochenen Methoden iloc()
und loc()
verwenden.
Im folgenden Code-Snippet wählen wir beispielsweise alle Zeilen und Spalten bei Index 2 und 3 aus.
subset_df1 = students_df.iloc[:,[2,3]] print(subset_df1)

Durch die Verwendung von start:stop
wird ein Slice von start
bis einschließlich stop
erstellt. Wenn Sie also sowohl den start
als auch den stop
ignorieren, wenn Sie den Start- und den Stoppwert ignorieren, beginnt der Slice am Anfang – und erstreckt sich bis zum Ende des Datenrahmens –, wobei alle Zeilen ausgewählt werden.
Wenn Sie die Methode loc()
verwenden, müssen Sie die Beschriftungen der Zeilen und Spalten, die Sie auswählen möchten, wie gezeigt übergeben:
subset_df2 = students_df.loc[['Amy','Evelyn'],['Week1','Week3']] print(subset_df2)

Hier enthält der Datenrahmen subset_df2
den Datensatz von Amy und Evelyn für Woche1 und Woche3.
Fazit
Hier ist ein kurzer Überblick über das, was Sie in diesem Tutorial gelernt haben:
- Nach der Installation von Pandas können Sie es unter dem Alias
pd
importieren. Um ein Pandas-Datenrahmenobjekt zu erstellen, können Sie denpd.DataFrame(data)
verwenden, wobei sichdata
auf das N-dimensionale Array oder ein Iterable bezieht, das die Daten enthält. Sie können die Zeilen- und Index- sowie Spaltenbeschriftungen angeben, indem Sie die optionalen Index- bzw. Spaltenparameter festlegen. - Die Verwendung
pd.read_csv(path-to-the-file)
liest den Inhalt der Datei in einen Datenrahmen. - Sie können die
info()
Methode für das Datenrahmenobjekt aufrufen, um Informationen zu den Spalten, der Anzahl fehlender Werte, Datentypen und der Größe des Datenrahmens zu erhalten. - Um eine einzelne Spalte auszuwählen, verwenden
df_name[col_name]
, und um mehrere Spalten auszuwählen, eine bestimmte Spalte,df_name[[col1,col2,...,coln]]
. - Sie können Spalten und Zeilen auch mit den Methoden
loc()
undiloc()
. - Während die
iloc()
Methode den Index (oder Index-Slice) der auszuwählenden Zeilen und Spalten übernimmt, übernimmt dieloc()
Methode die Zeilen- und Spaltenbeschriftungen.
Die in diesem Lernprogramm verwendeten Beispiele finden Sie in diesem Colab-Notebook.
Sehen Sie sich als Nächstes diese Liste mit kollaborativen Data-Science-Notebooks an.