Lernen Sie die Grundlagen der Arbeit mit Pandas DataFrames: die grundlegende Datenstruktur in Pandas, einer leistungsstarken Bibliothek zur Datenmanipulation.
Wenn Sie mit der Datenanalyse in Python beginnen möchten, ist pandas eine der ersten Bibliotheken, mit der Sie arbeiten sollten. Vom Importieren von Daten aus verschiedenen 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 Tutorial lernen Sie die Grundlagen von Pandas Dataframes und gängige Methoden zur Erstellung von Dataframes kennen. Anschließend lernen Sie, wie Sie Zeilen und Spalten aus dem Datenrahmen auswählen, um Teilmengen von Daten abzurufen.
Für all dies und mehr sollten wir uns auf den Weg machen.
Installieren und Importieren von Pandas
Da pandas eine Datenanalysebibliothek eines Drittanbieters ist, sollten Sie sie zuerst installieren. Es wird empfohlen, externe Pakete in einem virtuelle Umgebung für Ihr Projekt.
Wenn Sie die Anaconda-Verteilung von Pythonkönnen Sie verwenden conda
für die Paketverwaltung.
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 nicht bereits installiert ist, wird es während des Installationsvorgangs ebenfalls installiert.
Nachdem Sie pandas installiert haben, können Sie es in Ihre Arbeitsumgebung importieren. Im Allgemeinen wird pandas unter dem Alias pd
:
import pandas as pd
Was ist ein DataFrame in Pandas?

Die grundlegende Datenstruktur in Pandas ist die Datenrahmen. Ein Datenrahmen ist ein zweidimensionales Feld von Daten mit mit der Bezeichnung Index und namens Spalten. Jede Spalte des Datenrahmens wird als Pandas Seriehat 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 "Woche1" bis "Woche4". Beachten Sie, dass alle Spalten denselben Satz von Zeilenbeschriftungen haben, die auch als index.
Wie man einen Pandas DataFrame erstellt
Es gibt mehrere Möglichkeiten, einen Pandas-Datenrahmen zu erstellen. In diesem Lernprogramm 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
Erstellen wir einen Datenrahmen aus einer NumPy-Array.
Erstellen wir das Datenfeld der Form (6,4) unter der Annahme, dass jeder Schüler in einer bestimmten Woche zwischen $0 und $100 ausgibt. Die randint()
Funktion aus NumPy's random
Modul gibt ein Array mit zufälligen 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 die DataFrame
Konstruktor und übergeben das NumPy-Array als data
Argument, wie gezeigt:
students_df = pd.DataFrame(data=data)
Jetzt können wir das eingebaute type()
Funktion zur Überprüfung des Typs von students_df
. Wir sehen, dass es sich um eine DataFrame
Objekt.
type(students_df)
# pandas.core.frame.DataFrame
print(students_df)

Wir sehen, dass wir standardmäßig eine Bereichsindizierung haben, die von 0 bis zur numRows
- 1, und die Spaltenbezeichnungen sind 0, 1, 2, ..., numCols
-1. Dies beeinträchtigt jedoch die Lesbarkeit. Es ist hilfreich, dem Datenrahmen beschreibende Spaltennamen und Zeilenbeschriftungen hinzuzufügen.
Wir erstellen zwei Listen: eine für die Namen der Schüler und eine für die Spaltenbezeichnungen.
students = ['Amy','Bob','Chris','Dave','Evelyn','Fanny']
cols = ['Week1','Week2','Week3','Week4']
Beim Aufruf der DataFrame
Konstruktor, können Sie die index
und columns
zu den Listen der zu verwendenden Zeilen- bzw. Spaltenbezeichnungen.
students_df = pd.DataFrame(data = data,index = students,columns = cols)
Wir haben jetzt die students_df
Datenrahmen mit beschreibenden Zeilen- und Spaltenbezeichnungen.
print(students_df)

Um einige grundlegende Informationen über den Datenrahmen zu erhalten, wie fehlende Werte und Datentypen, können Sie die Funktion info()
Methode auf das Datenrahmenobjekt.
students_df.info()

Aus einem Python-Wörterbuch
Sie können auch einen Pandas-Datenrahmen aus einem Python-Wörterbuch erstellen.
Hier, data_dict
ist das Wörterbuch mit den Schülerdaten:
- Die Namen der Schüler sind die Schlüssel.
- Jeder Wert ist eine Auflistung der Ausgaben, die jeder Schüler in den Wochen eins bis vier tätigt.
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 Sie from_dict
wie unten gezeigt. Das erste Argument entspricht einem Wörterbuch, das die Daten enthält (data_dict
). Standardmäßig werden die Schlüssel als Spaltennamen des Datenrahmens. Da wir die Schlüssel als die Zeilenbeschriftungengesetzt 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 die Spalten auf die cols
Liste:
students_df = pd.DataFrame.from_dict(data_dict,orient='index',columns=cols)
print(students_df)

Einlesen einer CSV-Datei in einen Pandas DataFrame
Angenommen, die Schülerdaten sind als CSV-Datei verfügbar. Sie können die read_csv()
Funktion, um die Daten aus der Datei in einen Pandas-Datenrahmen einzulesen. pd.read_csv('file-path')
ist die allgemeine Syntax, wobei file-path
ist der Pfad zur CSV-Datei. Wir können die names
in die Liste der zu verwendenden Spaltennamen ein.
students_df = pd.read_csv('/content/students.csv',names=cols)
Da wir nun wissen, wie man einen Datenrahmen erstellt, wollen wir nun lernen, wie man Zeilen und Spalten auswählt.
Spalten aus einem Pandas DataFrame auswählen
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 zur Auswahl von Spalten, Zeilen und sowohl Zeilen als auch Spalten aus einem Datenrahmen behandelt.
Auswählen einer einzelnen Spalte
Um eine einzelne Spalte auszuwählen, können Sie df_name[col_name]
wobei col_name
ist die Zeichenfolge, die den Namen der Spalte angibt.
Hier wählen wir nur die Spalte "Woche1" aus.
week1_df = students_df['Week1']
print(week1_df)

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

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

Verwendung der Methode .iloc()
Zur Auswahl von Zeilen mit der iloc()
Methode die Indizes für alle Zeilen als Liste übergeben.
In diesem Beispiel werden die Zeilen mit ungeradem Index ausgewählt.
odd_index_rows = students_df.iloc[[1,3,5]]
print(odd_index_rows)

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

Verwendung der Methode .loc()
Um die Zeilen eines Datenrahmens auszuwählen, verwenden Sie die loc()
müssen Sie die Beschriftungen für die 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, dann mitiloc()
undloc()
sind beide gleichwertig.
Zeilen und Spalten aus einem Pandas DataFrame auswählen
Bisher haben Sie gelernt, wie Sie entweder Zeilen oder Spalten aus einem Pandas-Datenframe auswählen können. Es kann jedoch vorkommen, dass Sie eine Teilmenge von Daten auswählen müssen beide Zeilen und Spalten. Wie kann man das machen? Sie können die iloc()
und loc()
Methoden, die wir besprochen haben.
Im folgenden Codeschnipsel wählen wir zum Beispiel alle Zeilen und Spalten bei Index 2 und 3.
subset_df1 = students_df.iloc[:,[2,3]]
print(subset_df1)

Verwendung von start:stop
erzeugt ein Slice aus start
bis zu, aber nicht einschließlich stop
. Wenn Sie also sowohl die start
und stop
Werte, wenn Sie die Start- und Stopp-Werte ignorieren, beginnt der Slice am Anfang und erstreckt sich bis zum Ende des Datenrahmens, indem Sie alle die Zeilen.
Bei Verwendung des loc()
Methode 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 wird der Datenrahmen subset_df2
enthält die Aufzeichnungen von Amy und Evelyn für Woche 1 und Woche 3.
Schlussfolgerung
Hier ein kurzer Überblick über das, was Sie in diesem Lernprogramm gelernt haben:
- Nach der Installation von Pandas können Sie es unter dem Alias
pd
. Um ein Pandas-Datenframe-Objekt zu erstellen, können Sie diepd.DataFrame(data)
Konstrukteur, wobeidata
verweist auf das N-dimensionale Array oder eine Iterable, die die Daten enthält. Sie können die Zeile und den Index sowie die Spaltenbezeichnungen angeben, indem Sie die optional Index- bzw. Spaltenparameter. - Verwendung von
pd.read_csv(path-to-the-file)
liest den Inhalt der Datei in einen Datenrahmen. - Sie können die
info()
Methode auf das Datenrahmenobjekt, um Informationen über die Spalten, die Anzahl der fehlenden Werte, die Datentypen und die Größe des Datenrahmens zu erhalten. - Um eine einzelne Spalte auszuwählen, verwenden Sie
df_name[col_name]
und zur Auswahl mehrerer Spalten, bestimmte Spalte,df_name[[col1,col2,...,coln]]
. - Sie können Spalten und Zeilen auch mit der Taste
loc()
undiloc()
Methoden. - Während die
iloc()
Methode nimmt den Index (oder die Indexscheibe) der auszuwählenden Zeilen und Spalten auf, dieloc()
Methode nimmt die Zeilen- und Spaltenbeschriftungen auf.
Die in diesem Lernprogramm verwendeten Beispiele finden Sie unter dieses Colab-Notizbuch.
Als Nächstes sehen Sie sich diese Auflistung von kollaborative Data-Science-Notebooks.