Überprüfen Sie, ob eine Zelle in Pandas leer ist

Olorunfemi Akinlua 21 Juni 2023
  1. Verwenden Sie die Funktion isnull(), um zu prüfen, ob die Zelle leer ist
  2. Verwenden Sie die Funktion any(), um zu prüfen, ob die Zelle leer ist
  3. Verwenden Sie die isnan-Funktion, um zu prüfen, ob die Zelle leer ist
Überprüfen Sie, ob eine Zelle in Pandas leer ist

Leere Daten sind schlecht und nicht gut, wenn wir nützliche Informationen vergleichen, kombinieren oder extrahieren müssen, daher ist es wichtig zu wissen, ob sie existieren.

Wenn wir unsere CSV-Daten als Datenrahmen in Pandas laden, ist jedes Datenelement in einer Zelle vorhanden, und jede leere Zelle steht für leere Daten. In diesem Artikel zeigen wir Ihnen drei Ansätze, mit denen wir überprüfen können, ob eine Zelle in Pandas leer ist.

Verwenden Sie die Funktion isnull(), um zu prüfen, ob die Zelle leer ist

Um die Funktionen in Aktion zu zeigen, erstellen wir einen Pandas-Datenrahmen in einigen leeren Zellen.

Code:

import pandas as pd
import numpy as np

df = pd.DataFrame([[1, 2, 3], [3, 4], [3, 4, 5, 6]], columns=list("ABCD"))
print(df)

Ausgang:

A  B    C    D
0  1  2  3.0  NaN
1  3  4  NaN  NaN
2  3  4  5.0  6.0

Jetzt, da wir einen Datenrahmen mit 3 leeren Zellen haben, können wir mit der Funktion isnull() spielen, die darauf ausgelegt ist, fehlende Werte für Array-ähnliche Objekte zu finden – NaN, None oder NaT - und gibt einen booleschen Wert zurück, der angibt, ob ein fehlender Wert vorhanden ist oder nicht. Sie können die Funktion isnull() auf den gesamten Datenrahmen, eine bestimmte Spalte oder eine bestimmte Zelle anwenden.

Um den Datenrahmen oder eine bestimmte Spalte zu überprüfen, übergeben wir den Datenrahmen als Argument.

print(pd.isnull(df))
print(pd.isnull(df["C"]))

Ausgang:

A      B      C      D
0  False  False  False   True
1  False  False   True   True
2  False  False  False  False

0    False
1     True
2    False
Name: C, dtype: bool

Der Datenrahmen wird mit booleschen Werten angezeigt, die angeben, ob ein leerer Wert vorhanden ist oder nicht, wobei False einen nicht leeren Wert und True einen leeren Wert bedeutet.

Da wir uns jedoch mehr damit befassen, zu prüfen, ob eine Zelle leer ist, können wir die Methoden loc und iloc in Verbindung mit der Methode isnull() verwenden.

Wenn wir die Zelle überprüfen möchten (Index 1 in Spalte C, die NaN enthält), ist der folgende Code geeignet, um die Überprüfung auszuwählen und durchzuführen.

Code:

print(pd.isnull(df.loc[1, "C"]))
print(pd.isnull(df["C"].iloc[1]))

Ausgang:

True
True

Verwenden Sie die Funktion any(), um zu prüfen, ob die Zelle leer ist

Eine weitere Funktion, mit der wir prüfen können, ob eine Zelle im Datenrahmen leer ist, ist die Funktion any(). Solange eine Zelle leer ist, gibt die Funktion True zurück, andernfalls False.

Wir müssen die Funktion isnull() und die Eigenschaft values verwenden, damit es funktioniert.

Unter Verwendung desselben Datenrahmens aus dem vorherigen Abschnitt verwendet der folgende Code die Funktion isnull() für den Datenrahmen und enthält jetzt nur boolesche Werte, um Leerheit anzuzeigen, und die booleschen Werte sind über die Eigenschaft values zugänglich, die verkettet werden kann die Funktion any().

Code:

print(df.isnull().values.any())

Ausgang:

True

Verwenden Sie die isnan-Funktion, um zu prüfen, ob die Zelle leer ist

Wir können den Index, dessen Zelle in einer Spalte leer ist, in einer Liste speichern, indem wir die Funktionen index und apply() sowie den Test numpy.isnan verwenden.

Wir wählen die Spalte aus und verwenden dann die Funktion index, um dies zu erreichen. Innerhalb der Methode index wählen wir dieselbe Spalte erneut aus, um die Funktion apply() mit dem Test numpy.isnan zu verwenden.

Diese werden an die Funktion list() übergeben.

Code:

list(df["D"].index[df["D"].apply(np.isnan)])

Ausgang:

[0, 1]

Damit haben wir den Index (0 und 1) der leeren Zellen in Spalte D.

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn