Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Entwicklung Zuletzt aktualisiert: September 13, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

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?

Was-ist-ein-Datenrahmen-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.

pd-dataframe-ex

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)
pandas-dataframe-01

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)
pandas-dataframe-02

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()
Bild-114

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_dictwie 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)
pandas-dataframe-from-dict

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)
pandas-dataframe-03

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)
einspaltig

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)
mehrspaltig

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

4-2

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)
ungerade Zeilen

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)
Auswahl-Zeilen

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)
einige-zeilen

Wenn die Zeilen des Datenrahmens mit dem Standardbereich 0, 1, 2, bis zu numRows -1, dann mit iloc() und loc() 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)
dataframe-subset

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)
df-teilmenge

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 die pd.DataFrame(data) Konstrukteur, wobei data 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() und iloc() Methoden.
  • Während die iloc() Methode nimmt den Index (oder die Indexscheibe) der auszuwählenden Zeilen und Spalten auf, die loc() 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.

  • Bala Priya C
    Autor
Dank an unsere Sponsoren
Weitere gute Lektüre zum Thema Entwicklung
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder