Skip to content

Pandas Where: Die Leistungsfähigkeit von Pandas zur Verwaltung von Null-Werten nutzen

Updated on

Die Arbeit mit Daten steht im Mittelpunkt dessen, was wir tun. Rohdaten sind jedoch oft unordentlich, unvollständig und voller Null-Werte, mit denen wir umgehen müssen. Ohne geeignete Behandlung können Null-Werte bei der Durchführung von Datenanalysen oder Machine-Learning-Aufgaben Probleme verursachen. Glücklicherweise können wir mit der Pandas‑Bibliothek in Python Null-Werte in unseren Daten schnell und effektiv verwalten.

In diesem Artikel betrachten wir die Pandas‑Funktion where() und verschiedene andere Techniken zum Umgang mit Null-Werten in Pandas. Wir behandeln, wie man fehlende Daten in einem Pandas DataFrame erkennt und behandelt, Strategien für den Umgang mit Null-Werten, Best Practices für die Verwaltung fehlender Werte und vieles mehr.

Wann where() vs mask() verwenden

where() behält Werte bei, die eine Bedingung erfüllen, und ersetzt den Rest; mask() macht das Gegenteil. Beide respektieren die Nullable‑Semantik von pandas (pd.NA) in pandas 2.x.

import pandas as pd
 
s = pd.Series([10, None, 30, 40], dtype="Int64")
keep_under_35 = s.where(s < 35)     # 40 becomes <NA>
mask_nulls = s.mask(s.isna(), 0)    # fill nulls without touching valid rows

Verwenden Sie where(), wenn Sie gültige Einträge beibehalten und den Rest auf null setzen möchten, und kombinieren Sie es mit fillna, wenn Sie Standardwerte benötigen.

Möchten Sie schnell Datenvisualisierungen in Python erstellen?

PyGWalker ist ein Open-Source-Python-Projekt, das den Workflow für Datenanalyse und -visualisierung direkt in Jupyter-Notebook-Umgebungen beschleunigen kann.

PyGWalker (opens in a new tab) verwandelt Ihr Pandas DataFrame (oder Polars DataFrame) in eine visuelle UI, in der Sie Variablen per Drag & Drop verschieben können, um mühelos Diagramme zu erstellen. Verwenden Sie einfach den folgenden Code:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Sie können PyGWalker sofort mit diesen Online-Notebooks ausführen:

Und vergessen Sie nicht, uns auf GitHub ein ⭐️ zu geben!

Run PyGWalker in Kaggle Notebook (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)Give PyGWalker a ⭐️ on GitHub (opens in a new tab)
Run PyGWalker in Kaggle Notebook (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)

Erkennen und Behandeln fehlender Daten in einem Pandas DataFrame

Eine der häufigsten Aufgaben bei der Arbeit mit Daten besteht darin, nach fehlenden Daten zu suchen. Pandas stellt mehrere Möglichkeiten bereit, Null-Werte zu identifizieren, darunter isnull() und notnull(), die boolesche Werte zurückgeben, um anzuzeigen, ob einer der Werte im DataFrame null ist oder nicht. Wir können diese Funktionen verwenden, um schnell herauszufinden, ob in unseren Daten fehlende Werte vorhanden sind.

Angenommen, wir haben ein DataFrame mit mehreren Spalten, von denen einige fehlende Werte enthalten.

import pandas as pd
import numpy as np

data = {'name': ['Alice', 'Bob', 'Charlie'],
        'age': [25, np.nan, 30],
        'gender': ['F', 'M', 'M'],
        'income': [50000, 60000, np.nan]}

df = pd.DataFrame(data)

Um in unserem DataFrame nach fehlenden Werten zu suchen, können wir die Funktion isnull() auf das gesamte DataFrame anwenden.

print(df.isnull())

Dies gibt ein DataFrame mit derselben Form wie das ursprüngliche DataFrame zurück, wobei True einen Null-Wert und False einen Nicht-Null-Wert darstellt.

Um die Anzahl fehlender Werte in jeder Spalte unseres DataFrames zu zählen, können wir die Methode sum() nach Anwendung von isnull() verwenden.

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

Dies gibt ein Series‑Objekt zurück, dessen Index die Spaltennamen sind und dessen Werte die Anzahl der fehlenden Werte in jeder Spalte darstellen.

Wir können auch Zeilen oder Spalten mit Null-Werten mithilfe der Methode dropna() entfernen. Diese Methode entfernt jede Zeile oder Spalte, die mindestens einen Null-Wert enthält.

df.dropna()

Alternativ können wir Null-Werte mit einem bestimmten Wert mithilfe der Funktion fillna() ersetzen.

df.fillna(0)

Dies sind nur einige Beispiele der in Pandas verfügbaren Methoden zum Erkennen und Behandeln von Null-Werten. Eine vollständige Liste finden Sie in der Pandas‑Dokumentation.

Arbeiten mit Null-Werten in Pandas

Null-Werte können bei Datenanalysen oder Machine-Learning-Aufgaben eine Herausforderung darstellen. Es gibt jedoch viele Strategien, mit denen wir effektiv mit Null-Werten arbeiten können. Hier sind einige davon:

Interpolation

Eine gängige Technik zur Behandlung fehlender Daten ist die Interpolation. Interpolation ist eine statistische Methode, die fehlende Werte auf Basis beobachteter Werte in benachbarten Zeilen schätzt. In Pandas können wir die Methode interpolate() verwenden, um eine Interpolation auf unserem DataFrame durchzuführen.

df.interpolate()

Auffüllen fehlender Werte

Eine weitere Strategie für den Umgang mit Null-Werten besteht darin, die fehlenden Werte mit einer Konstante oder einem aus den verbleibenden Daten berechneten Wert aufzufüllen. Wir können die Methode fillna() verwenden, um Null-Werte mit einem bestimmten Wert zu füllen.

df.fillna(0)

Alternativ können wir Null-Werte mit dem Mittelwert, Modus oder Median der verbleibenden Daten auffüllen.

df.fillna(df.mean())

Entfernen fehlender Werte

Das Entfernen fehlender Werte ist eine verbreitete Strategie zur Behandlung von Null-Werten. Wir können die Methode dropna() verwenden, um alle Zeilen zu löschen, die einen oder mehrere Null-Werte enthalten.

df.dropna()

Wir können auch Spalten entfernen, die Null-Werte enthalten.

df.dropna(axis=1)

Imputation

Imputation ist eine Technik zur Schätzung fehlender Werte auf Basis beobachteter Daten. In Pandas können wir das Paket scikit-learn verwenden, um Imputation durchzuführen.

from sklearn.impute import SimpleImputer

imp = SimpleImputer(missing_values=np.nan, strategy='mean')

df[['age', 'income']] = imp.fit_transform(df[['age', 'income']])

Dies sind nur einige Beispiele der vielen verfügbaren Strategien für den Umgang mit Null-Werten in Pandas. Die geeignete Strategie hängt vom konkreten Problem und der Art der fehlenden Daten ab.

Best Practices für den Umgang mit fehlenden Werten in Pandas

Der Umgang mit fehlenden Daten kann schwierig sein, aber es gibt einige Best Practices, die helfen können. Hier sind ein paar Tipps für die Verwaltung von Null-Werten in Pandas:

  • Überprüfen Sie immer auf fehlende Daten, bevor Sie eine Analyse durchführen.
  • Verwenden Sie deskriptive Statistiken, um die Verteilung der Daten zu verstehen und Ausreißer zu identifizieren.
  • Ziehen Sie verschiedene Strategien zum Umgang mit fehlenden Daten in Betracht, z. B. Interpolation, Imputation oder das Entfernen fehlender Werte.
  • Seien Sie sich der möglichen Konsequenzen der verschiedenen Strategien bewusst und wie sie die Analyse beeinflussen können.
  • Nutzen Sie Datenvisualisierungstools, um Einblicke in die Art und Verteilung der Daten zu gewinnen.
  • Dokumentieren Sie die fehlenden Werte und wie mit ihnen in der Analyse umgegangen wurde.

Wenn wir diesen Best Practices folgen, können wir Null-Werte in unseren Daten besser verwalten und effektiv Datenanalysen oder Machine-Learning-Aufgaben durchführen.

Fazit

Null-Werte können bei der Arbeit mit Daten eine Herausforderung darstellen, aber mit Pandas steht uns ein leistungsfähiger Satz an Werkzeugen zum Erkennen und Behandeln fehlender Daten zur Verfügung. In diesem Artikel haben wir die Pandas‑Funktion where() und verschiedene andere Techniken und Strategien für den Umgang mit Null-Werten in Pandas betrachtet. Durch die Anwendung dieser Techniken und das Befolgen von Best Practices können wir Null-Werte in unseren Daten besser verwalten und effektive Datenanalysen und Machine-Learning-Aufgaben durchführen.