Modifier les importations : données vrai/faux

Ingestion de données rationalisée avec pandas

Amany Mahfouz

Instructor

Données booléennes

  • Données True/False

Feuille de calcul d'un sondage avec plusieurs colonnes vrai/faux

Ingestion de données rationalisée avec pandas

Données booléennes

Feuille de calcul d'un sondage avec colonnes sur la participation au bootcamp mises en évidence

Ingestion de données rationalisée avec pandas

Données booléennes

Feuille de calcul d'un sondage avec colonnes sur l'utilisation d'un prêt mises en évidence

Ingestion de données rationalisée avec pandas

Données booléennes

Feuille de calcul d'un sondage avec plusieurs colonnes True/False

Ingestion de données rationalisée avec pandas

Données booléennes

Feuille de calcul d'un sondage avec colonnes utilisant des zéros et des uns mises en évidence

Ingestion de données rationalisée avec pandas

Données booléennes

Feuille de calcul d'un sondage avec colonnes utilisant des True et des False mises en évidence

Ingestion de données rationalisée avec pandas

Données booléennes

Feuille de calcul d'un sondage avec colonnes utilisant des yes et des no mises en évidence

Ingestion de données rationalisée avec pandas

pandas et booléens

bootcamp_data = pd.read_excel("fcc_survey_booleans.xlsx")
print(bootcamp_data.dtypes)
ID.x                      object
AttendedBootcamp         float64
AttendedBootCampYesNo     object
AttendedBootcampTF       float64
BootcampLoan             float64
LoanYesNo                 object
LoanTF                   float64
dtype: object
Ingestion de données rationalisée avec pandas

pandas et booléens

# Compter les valeurs True
print(bootcamp_data.sum())
AttendedBootcamp                      38
AttendedBootcampTF                    38
BootcampLoan                          14
LoanTF                                14
dtype: object
# Compter les NA
print(bootcamp_data.isna().sum())
ID.x                           0
AttendedBootcamp               0
AttendedBootCampYesNo          0
AttendedBootcampTF             0
BootcampLoan                 964
LoanYesNo                    964
LoanTF                       964
dtype: int64
Ingestion de données rationalisée avec pandas
# Charger les données, en forçant les colonnes True/False au type booléen
bool_data = pd.read_excel("fcc_survey_booleans.xlsx", 
                          dtype={"AttendedBootcamp": bool,
                                "AttendedBootCampYesNo": bool,
                                "AttendedBootcampTF":bool,
                                "BootcampLoan": bool,
                                "LoanYesNo": bool,
                                "LoanTF": bool})

print(bool_data.dtypes)
ID.x                      object
AttendedBootcamp            bool
AttendedBootCampYesNo       bool
AttendedBootcampTF          bool
BootcampLoan                bool
LoanYesNo                   bool
LoanTF                      bool
dtype: object
Ingestion de données rationalisée avec pandas
# Compter les valeurs True
print(bool_data.sum())
AttendedBootcamp                         38
AttendedBootCampYesNo                  1000
AttendedBootcampTF                       38
BootcampLoan                            978
LoanYesNo                              1000
LoanTF                                  978
dtype: object
# Compter les valeurs NA
print(bool_data.isna().sum())
ID.x                       0
AttendedBootcamp           0
AttendedBootCampYesNo      0
AttendedBootcampTF         0
BootcampLoan               0
LoanYesNo                  0
LoanTF                     0
dtype: int64
Ingestion de données rationalisée avec pandas

pandas et booléens

  • Par défaut, pandas charge les colonnes True/False comme des flottants
  • Indiquez bool pour une colonne avec l'argument dtype de read_excel()
  • Les colonnes booléennes ne peuvent contenir que True et False
  • Les valeurs NA/manquantes dans une colonne booléenne sont converties en True
  • pandas reconnaît automatiquement certaines valeurs comme True/False dans ces colonnes
  • Les valeurs non reconnues dans une colonne booléenne sont aussi converties en True
Ingestion de données rationalisée avec pandas

Définir des valeurs True/False personnalisées

  • Utilisez l'argument true_values de read_excel() pour définir vos valeurs True
  • Utilisez false_values pour définir vos valeurs False
  • Chaque argument reçoit une liste de valeurs à traiter comme True/False
  • Ces valeurs personnalisées s'appliquent seulement aux colonnes définies comme booléennes
Ingestion de données rationalisée avec pandas

Définir des valeurs True/False personnalisées

# Charger les données avec types booléens et valeurs T/F personnalisées
bool_data = pd.read_excel("fcc_survey_booleans.xlsx", 
                          dtype={"AttendedBootcamp": bool,
                                "AttendedBootCampYesNo": bool,
                                "AttendedBootcampTF":bool,
                                "BootcampLoan": bool,
                                "LoanYesNo": bool,
                                "LoanTF": bool},
                          true_values=["Yes"],
                          false_values=["No"])
Ingestion de données rationalisée avec pandas

Définir des valeurs True/False personnalisées

print(bool_data.sum())
AttendedBootcamp                                  38
AttendedBootCampYesNo                             38
AttendedBootcampTF                                38
BootcampLoan                                     978
LoanYesNo                                        978
LoanTF                                           978
dtype: object
Ingestion de données rationalisée avec pandas

Points à considérer pour les booléens

  • Y a‑t‑il des valeurs manquantes, ou pourrait‑il y en avoir ?
  • Comment cette colonne sera‑t‑elle utilisée dans l'analyse ?
  • Que se passerait‑il si une valeur était codée à tort comme True ?
  • Pourrait‑on modéliser ces données autrement (p. ex. en flottants ou en entiers) ?
Ingestion de données rationalisée avec pandas

Passons à la pratique !

Ingestion de données rationalisée avec pandas

Preparing Video For Download...