Arbeiten mit nullable Boolean-Daten

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In diesem Lab werden wir den nullable Boolean-Datentyp erkunden, der von der Pandas-Bibliothek in Python zur Verfügung gestellt wird. Wir werden lernen, wie diese Funktion bei der Indizierung und logischen Operationen verwendet wird und wie sie sich von traditionellen booleschen Operationen aufgrund des Vorhandenseins von 'NA'-Werten unterscheidet.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Operationen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Importieren der erforderlichen Bibliotheken

Zunächst müssen wir die erforderlichen Bibliotheken importieren, um die Operationen durchzuführen.

## Importieren der pandas- und numpy-Bibliotheken
import pandas as pd
import numpy as np

Indizierung mit NA-Werten

Pandas ermöglicht die Indizierung mit NA-Werten in einem booleschen Array, die als False behandelt werden.

## Erstellen einer pandas-Serie
s = pd.Series([1, 2, 3])

## Erstellen eines booleschen Arrays mit NA-Werten
mask = pd.array([True, False, pd.NA], dtype="boolean")

## Indizieren der Serie mit dem booleschen Array
s[mask] ## NA-Werte werden als False behandelt

Wenn Sie die NA-Werte beibehalten möchten, können Sie sie manuell mit fillna(True) auffüllen.

## Auffüllen von NA-Werten mit True und Indizieren der Serie
s[mask.fillna(True)]

Kleene-Logische Operationen

Pandas implementiert die Kleene-Logik (Drei-Wert-Logik) für logische Operationen wie & (und), | (oder) und ^ (exklusives Oder). Dies unterscheidet sich von der Verhalten von np.nan in logischen Operationen.

## Demonstration des Unterschieds in den 'oder'-Operationen zwischen np.nan und NA
pd.Series([True, False, np.nan], dtype="object") | True ## np.nan verhält sich anders
pd.Series([True, False, pd.NA], dtype="boolean") | True ## NA folgt der Kleene-Logik

## Demonstration des Unterschieds in den 'und'-Operationen zwischen np.nan und NA
pd.Series([True, False, np.nan], dtype="object") & True ## np.nan verhält sich anders
pd.Series([True, False, pd.NA], dtype="boolean") & True ## NA folgt der Kleene-Logik

Zusammenfassung

In diesem Lab haben wir uns mit dem nullable Boolean-Datentyp in Pandas und dessen Implementierung der Kleene-Logik zur Behandlung von NA-Werten in logischen Operationen beschäftigt. Diese Funktion bietet eine intuitivere Möglichkeit, fehlende Daten in booleschen Operationen zu behandeln und unterscheidet sich von der Verhalten von np.nan in diesen Operationen.