Travailler avec les données booléennes nullable

Beginner

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

Introduction

Dans ce laboratoire, nous allons explorer le type de données booléen nullable, fourni par la bibliothèque Pandas en Python. Nous allons apprendre à utiliser cette fonction dans les opérations d'indexation et logiques, et en quoi elle diffère des opérations booléennes traditionnelles en raison de la présence de valeurs 'NA'.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.

Importation des bibliothèques nécessaires

Tout d'abord, nous devons importer les bibliothèques nécessaires pour effectuer les opérations.

## Importation des bibliothèques pandas et numpy
import pandas as pd
import numpy as np

Indexation avec des valeurs NA

Pandas permet d'effectuer une indexation avec des valeurs NA dans un tableau booléen, qui sont considérées comme False.

## Création d'une série pandas
s = pd.Series([1, 2, 3])

## Création d'un tableau booléen avec des valeurs NA
mask = pd.array([True, False, pd.NA], dtype="boolean")

## Indexation de la série avec le tableau booléen
s[mask] ## Les valeurs NA sont considérées comme False

Si vous souhaitez conserver les valeurs NA, vous pouvez les remplir manuellement avec fillna(True).

## Remplissage des valeurs NA avec True et indexation de la série
s[mask.fillna(True)]

Opérations logiques de Kleene

Pandas implémente la logique de Kleene (logique trivalente) pour les opérations logiques telles que & (et), | (ou) et ^ (ou exclusif). Cela diffère de la manière dont np.nan se comporte dans les opérations logiques.

## Montre la différence dans les opérations 'ou' entre np.nan et NA
pd.Series([True, False, np.nan], dtype="object") | True ## np.nan se comporte différemment
pd.Series([True, False, pd.NA], dtype="boolean") | True ## NA suit la logique de Kleene

## Montre la différence dans les opérations 'et' entre np.nan et NA
pd.Series([True, False, np.nan], dtype="object") & True ## np.nan se comporte différemment
pd.Series([True, False, pd.NA], dtype="boolean") & True ## NA suit la logique de Kleene

Sommaire

Dans ce laboratoire, nous avons appris sur le type de données booléen nullable dans Pandas et son implémentation de la logique de Kleene pour gérer les valeurs NA dans les opérations logiques. Cette fonctionnalité offre un moyen plus intuitif de gérer les données manquantes dans les opérations booléennes, et diffère de la manière dont np.nan se comporte dans ces opérations.