Einführung in Python Pandas: Effiziente Datenanalyse

Was ist Pandas? Rolle in der Datenanalyse

Warum sollte man Pandas lernen?

Pandas ist eine unverzichtbare Bibliothek für die Datenanalyse in Python. Sie bietet eine Vielzahl von Funktionen, um die Vorverarbeitung, Transformation und Analyse von Daten effizient durchzuführen.
In der Praxis der Datenanalyse werden täglich große Datenmengen bearbeitet und daraus nützliche Informationen extrahiert.
Pandas ermöglicht solche Datenoperationen einfach, weshalb es für Data Scientists und Analysten ein unverzichtbares Tool ist.
Die Integration mit dem reichen Ökosystem von Python ist ebenfalls unkompliziert und kann die Effizienz der Datenanalyse erheblich steigern.

Vorteile der Nutzung von Pandas

Durch die Nutzung von Pandas kann die Menge des Codes für Datenoperationen reduziert werden, und man kann lesbaren Code schreiben. Zudem ist eine schnelle Datenverarbeitung möglich.
Pandas basiert auf der NumPy-Bibliothek für numerische Berechnungen und führt intern effiziente Verarbeitungen durch.
Daher ist eine schnelle Verarbeitung auch bei großen Datenmengen möglich, und komplexe Datenoperationen können knapp beschrieben werden.
Dadurch verbessert sich die Entwicklungs effizienz, und man kann sich stärker auf die Analyse konzentrieren.

Installation von Pandas und Umgebungseinrichtung

Um mit Pandas zu beginnen, ist zunächst die Installation erforderlich. Sie kann einfach mit pip durchgeführt werden. Zudem wird die Einrichtung von Umgebungen wie Jupyter Notebook erläutert.
Die Installation von Pandas kann mit dem folgenden Befehl einfach durchgeführt werden.

pipinstall pandas

Zudem ist Jupyter Notebook praktisch für die Datenanalyse. Nach der Installation von Jupyter Notebook kann Code im Webbrowser geschrieben, ausgeführt und die Ergebnisse sofort angezeigt werden.
Die Installation von Jupyter Notebook kann mit dem folgenden Befehl durchgeführt werden.

pip installnotebook

Nach der Durchführung dieser Einstellungen kann sofort mit der Datenanalyse mit Pandas begonnen werden.

Grundlagen von Pandas: Series und DataFrame

Erstellung und Operation von Series

Die grundlegende Series in Pandas ist eine eindimensionale Datenstruktur. Sie kann leicht aus Listen oder NumPy-Arrays erstellt werden. Wir erklären den Zugriff auf Elemente und Manipulationsmethoden.
Eine Series ist wie ein mit Labels versehenes Array, wobei jedes Element einen Index hat.
Um eine Series aus einer Liste zu erstellen, verwenden Sie pandas.Series() wie folgt.

importpandas as pd
 data = [10, 20, 30, 40, 50]
 s =pd.Series(data)
 print(s)

Darüber hinaus ist es möglich, Indizes anzugeben.

import pandas aspd
 data = [10, 20, 30, 40, 50]
 index = ['a', 'b', 'c', 'd', 'e']
 s =pd.Series(data,index=index)
 print(s)

Um auf Elemente einer Series zuzugreifen, geben Sie den Index an.print(s[‘a’])Ähnlich wie bei NumPy-Arrays ist auch Slicing möglich.print(s[‘b’:’d’])

Erstellung und Operation von DataFrame

Das DataFrame ist eine zweidimensionale Datenstruktur und eignet sich hervorragend zum Umgang mit tabellarischen Daten. Wir erläutern das Laden aus CSV-Dateien und die Erstellung aus Dictionaries.
Ein DataFrame besteht aus Zeilen und Spalten, und jede Spalte kann unterschiedliche Datentypen speichern.
Um ein DataFrame aus einem Dictionary zu erstellen, verwenden Sie pandas.DataFrame() wie folgt.

importpandas as pd
 data = {'name': ['Alice', 'Bob', 'Charlie'],
 'age': [25, 30,28],
 'city': ['Tokyo', 'Osaka', 'Kyoto']}
 df =pd.DataFrame(data)
 print(df)

Um ein DataFrame aus einer CSV-Datei zu laden, verwenden Sie pandas.read_csv().

importpandas as pd
 df =pd.read_csv('data.csv')
 print(df)

Um auf Spalten eines DataFrames zuzugreifen, geben Sie den Spaltennamen an.print(df[‘name’])Es ist auch möglich, mehrere Spalten auszuwählen.print(df[[‘name’,’age’]])Um auf Zeilen eines DataFrames zuzugreifen, verwenden Sie loc oder iloc. Die Verwendung dieser wird später detailliert erklärt.

Überprüfung und Konvertierung von Datentypen

In Pandas können verschiedene Datentypen gehandhabt werden. Wir erklären, wie man Datentypen überprüft und bei Bedarf konvertiert.
Um die Datentypen jeder Spalte in einem DataFrame zu überprüfen, verwenden Sie das dtypes-Attribut.

importpandas as pd
 data = {'col1': [1, 2, 3], 'col2': [1.1, 2.2, 3.3], 'col3': ['a','b', 'c']}
 df =pd.DataFrame(data)
 print(df.dtypes)

Um Datentypen zu konvertieren, verwenden Sie die astype()-Methode.

df['col1']=df['col1'].astype('float')
 print(df.dtypes)

Häufig verwendete Datentypen sind int (Ganzzahl), float (Gleitkommazahl), str (String), datetime (Datum und Uhrzeit) usw. Durch die Konvertierung zu passenden Datentypen bei Bedarf kann der Speicherverbrauch reduziert und die Rechenleistung verbessert werden.

Datenreferenzierung und -extraktion

Datenreferenzierung mit loc und iloc

loc und iloc sind leistungsstarke Tools, um spezifische Zeilen oder Spalten aus einem DataFrame zu extrahieren. Wir erklären ihre Verwendung anhand konkreter Beispiele.
loc spezifiziert Zeilen oder Spalten mit Labels.

importpandas as pd
 data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30,28],
'city': ['Tokyo', 'Osaka', 'Kyoto']}
 df = pd.DataFrame(data,index=['row1', 'row2', 'row3'])
 print(df.loc['row1','name'])
 print(df.loc['row1':'row2', ['name','age']])

iloc spezifiziert Zeilen oder Spalten mit ganzzahligen Positionen.

print(df.iloc[0,0])
 print(df.iloc[0:2,0:2])

loc und iloc sind sehr bequem, um auf spezifische Teile des DataFrames zuzugreifen. Sie sind unverzichtbare Tools bei der Erkundung und Analyse von Daten.

Extraktion von Zeilen basierend auf Bedingungen

Wir erklären, wie man nur Zeilen extrahiert, die bestimmte Bedingungen erfüllen. Die query()-Methode und die Extraktion mit Vergleichsoperatoren werden erläutert.
Um Zeilen aus einem DataFrame zu extrahieren, die bestimmte Bedingungen erfüllen, verwendet man Vergleichsoperatoren.

importpandas as pd
 data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30,28],
'city': ['Tokyo', 'Osaka', 'Kyoto']}
 df =pd.DataFrame(data)
 print(df[df['age'] >28])

Mit der query()-Methode kann man komplexere Bedingungen spezifizieren.

print(df.query('age >28'))
 print(df.query('city =='Tokyo''))

Es ist auch möglich, mehrere Bedingungen zu kombinieren.

print(df[(df['age'] > 25) &(df['city'] != 'Osaka')])
 print(df.query('age > 25 and city !='Osaka''))

Durch die Beherrschung dieser Methoden kann man die benötigten Daten effizient aus dem DataFrame extrahieren.

Datenüberprüfung mit head() und tail()

Mit den head()- und tail()-Methoden kann man die ersten oder letzten Zeilen eines DataFrames einfach überprüfen. Sie sind nützlich, um einen Überblick über die Daten zu bekommen.
Mit df.head() kann man die ersten Zeilen des DataFrames anzeigen. Ohne Argument werden standardmäßig die ersten 5 Zeilen angezeigt.

importpandas as pd
 data = {'col1': range(10), 'col2': range(10, 20)}
 df =pd.DataFrame(data)
 print(df.head())
 print(df.head(3))

Mit df.tail() kann man die letzten Zeilen des DataFrames anzeigen. Ohne Argument werden standardmäßig die letzten 5 Zeilen angezeigt.

print(df.tail())
 print(df.tail(3))

Diese Methoden sind sehr nützlich, um ein Gesamtbild der Daten zu erhalten. Besonders bei der Handhabung großer DataFrames ermöglichen sie eine effiziente Datenüberprüfung.

Datenbearbeitung und -Organisierung

Hinzufügen, Löschen und Ändern von Spalten

Wir erklären, wie man neue Spalten zu einem DataFrame hinzufügt oder unnötige Spalten löscht. Außerdem beschreiben wir, wie man die Daten in bestehenden Spalten ändert.
Um eine neue Spalte zu einem DataFrame hinzuzufügen, weist man Werte einem neuen Spaltennamen zu.

importpandas as pd
 data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30,28]}
 df = pd.DataFrame(data)
 df['gender'] = ['female', 'male','male']
 print(df)

Um die Werte in einer bestehenden Spalte zu ändern, weist man neue Werte der Spalte zu.

df['age'] =df['age'] +1
 print(df)

Um eine Spalte zu löschen, verwendet man die drop()-Methode. Man gibt den Namen der zu löschenden Spalte als Argument an. Mit inplace=True wird der ursprüngliche DataFrame geändert.

df.drop('gender',axis=1, inplace=True)
 print(df)

Durch die Kombination dieser Operationen kann der DataFrame flexibel bearbeitet werden.

Sortieren der Daten

Wir erklären, wie man die Zeilen eines DataFrames basierend auf den Werten einer bestimmten Spalte sortiert. Auch das Spezifizieren von aufsteigender oder absteigender Reihenfolge sowie das Sortieren nach mehreren Spalten wird beschrieben.
Um einen DataFrame basierend auf den Werten einer bestimmten Spalte zu sortieren, verwendet man die sort_values()-Methode. Als Argument gibt man den Namen der Spalte für die Sortierung an.

importpandas as pd
 data = {'name': ['Bob', 'Alice', 'Charlie'],
'age': [30, 25,28]}
 df = pd.DataFrame(data)
 df_sorted =df.sort_values('age')
 print(df_sorted)

Standardmäßig erfolgt die Sortierung aufsteigend. Für absteigende Sortierung gibt man ascending=False an.

df_sorted= df.sort_values('age',ascending=False)
 print(df_sorted)

Um nach mehreren Spalten zu sortieren, gibt man eine Liste der Spaltennamen als Argument an.

df_sorted= df.sort_values(['age','name'])
 print(df_sorted)

Durch die Nutzung dieser Funktionen kann das Daten in einer handhabbaren Form organisiert werden.

Statistische Werte der Daten

Wir erklären, wie man statistische Werte wie Mittelwert, Median und Standardabweichung berechnet. Mit der describe()-Methode kann eine Zusammenfassung der Daten abgerufen werden.
Um den Mittelwert jeder Spalte im DataFrame zu berechnen, verwendet man die mean()-Methode.

importpandas as pd
 data = {'col1': [1, 2, 3, 4, 5], 'col2': [2, 4, 6, 8, 10]}
 df =pd.DataFrame(data)
 print(df.mean())

Für den Median verwendet man die median()-Methode.

print(df.median())

Für die Standardabweichung verwendet man die std()-Methode.

print(df.std())

Mit der describe()-Methode können diese statistischen Werte zusammengefasst angezeigt werden.

print(df.describe())

Diese statistischen Werte helfen, die Verteilung und Trends der Daten zu verstehen.

侍エンジニア塾

Datenein- und -ausgabe sowie praktische Anwendungen

Schreiben in CSV-Dateien

Wir erläutern, wie bearbeitete DataFrames in CSV-Dateien geschrieben werden. Es wird beschrieben, wie beim Schreiben die Zeichencodierung, Trennzeichen usw. angegeben werden können.
DataFrames in CSV-Dateien zu schreiben, erfolgt mit der to_csv()-Methode. Als Argument wird der Dateiname angegeben.

importpandas as pd
 data = {'name': ['Alice', 'Bob'], 'age': [25, 30]}
 df =pd.DataFrame(data)
 df.to_csv('output.csv',index=False)

Wenn index=False angegeben wird, wird der Index nicht ausgegeben.
Um das Trennzeichen anzugeben, verwendet man das sep-Argument.

df.to_csv('output.csv',sep='t',index=False)

Um die Zeichencodierung anzugeben, verwendet man das encoding-Argument.

df.to_csv('output.csv',encoding='utf-8', index=False)

Durch die angemessene Angabe dieser Optionen können CSV-Dateien in verschiedenen Formaten ausgegeben werden.

Behandlung fehlender Werte

Die Behandlung fehlender Werte (NaN) wird erläutert. Es werden Methoden zur Überprüfung, Ergänzung und Löschung fehlender Werte je nach Situation erklärt.
Um zu überprüfen, ob ein DataFrame fehlende Werte enthält, verwendet man die isnull()-Methode. Elemente mit fehlenden Werten ergeben True, Elemente ohne False.

importpandas as pd
 import numpy as np
 data = {'col1': [1, 2, np.nan], 'col2': [4,np.nan, 6]}
 df =pd.DataFrame(data)
 print(df.isnull())

Um die Anzahl der fehlenden Werte zu zählen, kombiniert man es mit der sum()-Methode.

print(df.isnull().sum())

Um fehlende Werte mit einem bestimmten Wert zu ergänzen, verwendet man die fillna()-Methode.

df_filled=df.fillna(0)
 print(df_filled)

Um fehlende Werte zu löschen, verwendet man die dropna()-Methode.

df_dropped=df.dropna()
 print(df_dropped)

Durch die angemessene Durchführung dieser Verarbeitungen kann der Einfluss fehlender Werte auf die Datenanalyse minimiert werden.

Zusammenfassung von Pandas und zukünftiges Lernen

Wir fassen die in diesem Artikel gelernten Grundlagen von Pandas zusammen und stellen weitere Lernschritte vor. Lassen Sie uns Pandas meistern, um fortgeschrittene Datenanalysen durchzuführen.
In diesem Artikel haben wir die grundlegende Verwendung von Pandas erläutert.
Die Erstellung von Serien und DataFrames, die Referenzierung, Extraktion, Verarbeitung, Sortierung von Daten, die Berechnung von Statistiken, die Datenein- und -ausgabe sowie die Behandlung fehlender Werte – all das sind grundlegende Operationen für die Datenanalyse, die wir gelernt haben.
Um fortgeschrittene Datenanalysen durchzuführen, müssen wir tiefere Funktionen von Pandas erlernen.
Zum Beispiel eignen sich Methoden wie die Aggregationsverarbeitung mit der groupby()-Methode, die Datenverknüpfung mit der merge()-Methode oder die Erstellung von Pivot-Tabellen mit der pivot_table()-Methode, um komplexe Datenoperationen effizient durchzuführen.
Durch die Kombination mit Datenvisualisierungs-Bibliotheken wie Matplotlib oder Seaborn wird eine effektivere Datenanalyse möglich.
Durch kontinuierliches Lernen verbessern wir unsere Fähigkeiten in der Datenanalyse und fordern uns zu fortgeschrittenen Analysen heraus.
Pandas ist ein sehr mächtiges Tool in der Datenanalyse, und durch seine Beherrschung kann die Effizienz und Qualität der Datenanalyse erheblich verbessert werden. Lassen Sie uns durch tägliches Lernen Pandas zu unserem eigenen machen.