Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

So erstellen Sie einen Pandas DataFrame [mit Beispielen]

Wie man einen Pandas-Datenrahmen erstellt
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Lernen 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.

Installing and Importing Pandas

Da Pandas eine Datenanalysebibliothek eines Drittanbieters ist, sollten Sie sie zuerst installieren. Es wird empfohlen, externe Pakete in a zu installieren virtuelle Umgebung für Ihr Projekt.

Wenn Sie die Anaconda-Verteilung von Python, Sie können conda zur 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 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 ​​importiert pd:

import pandas as pd

What Is a DataFrame in Pandas?

Was-ist-ein-DataFrame-in-Pandas

Die grundlegende Datenstruktur in Pandas ist die Datenrahmen. Ein Datenrahmen ist ein zweidimensionales Array von Daten mit etikettiert Index und namens Säulen. Jede Spalte im Datenrahmen wird Pandas genannt Serie, teilt 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 „Week1“ bis „Week4“. Beachten Sie, dass alle Spalten denselben Satz von Zeilenbeschriftungen verwenden, die auch als bezeichnet werden Index.

How to Create a 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 a erstellen NumPy-Array.

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. Das randint() Funktion von NumPy's random Modul 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 die verwenden DataFrame Konstruktor und übergeben Sie das NumPy-Array als data Argument, wie gezeigt:

students_df = pd.DataFrame(data=data)

Jetzt können wir das eingebaute aufrufen type() Funktion, um den Typ zu überprüfen students_df. Wir sehen, dass es ein ist DataFrame Objekt.

type(students_df)
# pandas.core.frame.DataFrame
print(students_df)
Pandas-Datenrahmen-01

Wir sehen, dass wir standardmäßig eine Bereichsindizierung haben, die von 0 bis geht numRows – 1, 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 Anrufen der DataFrame Konstruktor, können Sie die festlegen index und columns zu den Listen der zu verwendenden Zeilenbeschriftungen bzw. Spaltenbeschriftungen hinzufügen.

students_df = pd.DataFrame(data = data,index = students,columns = cols)

Wir haben jetzt die students_df Datenrahmen mit beschreibenden Zeilen- und Spaltenbeschriftungen.

print(students_df)
Pandas-Datenrahmen-02

Um einige grundlegende Informationen zum Datenrahmen zu erhalten, z. B. fehlende Werte und Datentypen, können Sie die aufrufen info() -Methode für 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 Schülerdaten:

  • 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

Verwenden Sie zum Erstellen eines Datenrahmens aus einem Python-Wörterbuch from_dict, Wie nachfolgend dargestellt. Das erste Argument entspricht dem Wörterbuch, das die Daten enthält (data_dict). Standardmäßig werden die Schlüssel als verwendet Spaltennamen des Datenrahmens. Da wir die Schlüssel als festlegen möchten Zeilenbeschriftungen, einstellen orient= 'index'.

students_df = pd.DataFrame.from_dict(data_dict,orient='index')
print(students_df)
pandas-dataframe-von-dict

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

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

Lesen Sie eine CSV-Datei in einen Pandas DataFrame ein

Angenommen, die Schülerdaten sind als CSV-Datei verfügbar. Du kannst den ... benutzen read_csv() Funktion zum Einlesen der Daten aus der Datei in einen Pandas-Datenrahmen. pd.read_csv('file-path') ist die allgemeine Syntax, wo file-path ist der Pfad zur CSV-Datei. Wir können die einstellen names -Parameter der Liste der zu verwendenden Spaltennamen hinzufügen.

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.

Select Columns from a Pandas DataFrame

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 verwenden df_name[col_name] woher col_name ist die Zeichenfolge, die den Namen der Spalte angibt.

Hier wählen wir nur die Spalte „Week1“ aus.

week1_df = students_df['Week1']
print(week1_df)
einzelne Spalte

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

Zusätzlich zu dieser Methode können Sie auch die verwenden iloc() und loc() Methoden zum Auswählen von Spalten. Wir werden später ein Beispiel codieren.

Select Rows from a Pandas DataFrame

4-2

Verwenden der .iloc()-Methode

Um Zeilen auszuwählen, verwenden Sie die iloc() -Methode ü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)
ungerade Reihen

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)
Zeilen auswählen

Verwenden der .loc()-Methode

Um die Zeilen eines Datenrahmens auszuwählen, verwenden Sie die loc() -Methode sollten Sie die Labels angeben, die den Zeilen entsprechen, 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 indiziert werden numRows -1, dann mit iloc() und loc() sind beide gleichwertig.

Select Rows and Columns from a Pandas DataFrame

Bisher haben Sie gelernt, wie Sie entweder Zeilen oder Spalten aus einem Pandas-Datenrahmen auswählen. Es kann jedoch vorkommen, dass Sie eine Teilmenge von auswählen müssen beide Reihen und Spalten. Wie machst du das? Du kannst den ... benutzen iloc() und loc() Methoden, die wir besprochen haben.

Im folgenden Code-Snippet wählen wir beispielsweise aus Alle Zeilen und Spalten bei Index 2 und 3.

subset_df1 = students_df.iloc[:,[2,3]]
print(subset_df1)
Datenrahmen-Teilmenge

Die start:stop erstellt ein Slice aus start bis, aber nicht inklusive stop. Wenn Sie also beides ignorieren start und stop Wenn Sie die Start- und Stoppwerte ignorieren, beginnt das Slice am Anfang – und erstreckt sich bis zum Ende des Datenrahmens – Auswahl Alle die Reihen.

Bei Verwendung der 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 der Datenrahmen subset_df2 enthält die Aufzeichnungen 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 ​​importieren pd. Um ein Pandas-Datenrahmenobjekt zu erstellen, können Sie die pd.DataFrame(data) Konstrukteur, wo data bezieht sich auf das N-dimensionale Array oder ein Iterable, das die Daten enthält. Sie können die Zeilen- und Index- und Spaltenbeschriftungen angeben, indem Sie die festlegen optional Index- bzw. Spaltenparameter.
  • Die pd.read_csv(path-to-the-file) liest den Inhalt der Datei in einen Datenrahmen.
  • Sie können die anrufen info() -Methode für das Datenrahmenobjekt, 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 Sie df_name[col_name], und um mehrere Spalten auszuwählen, bestimmte Spalte, df_name[[col1,col2,...,coln]].
  • Sie können Spalten und Zeilen auch mit auswählen loc() und iloc() Methoden.
  • Während die iloc() -Methode übernimmt den Index (oder Index-Slice) der auszuwählenden Zeilen und Spalten, die loc() -Methode übernimmt die Zeilen- und Spaltenbeschriftungen.

Die in diesem Tutorial verwendeten Beispiele finden Sie in dieses Colab-Notizbuch.

Als nächstes sehen Sie sich diese Liste an kollaborative Data-Science-Notizbücher.

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder