Úprava importů: data true/false

Streamlined Data Ingestion with pandas

Amany Mahfouz

Instructor

Booleovská data

  • Data True/False

Tabulka s průzkumnými daty s několika sloupci true/false

Streamlined Data Ingestion with pandas

Booleovská data

Tabulka s průzkumnými daty se zvýrazněnými sloupci o účasti na bootcampu

Streamlined Data Ingestion with pandas

Booleovská data

Tabulka s průzkumnými daty se zvýrazněnými sloupci o využití půjčky

Streamlined Data Ingestion with pandas

Booleovská data

Tabulka s průzkumnými daty s několika sloupci True/False

Streamlined Data Ingestion with pandas

Booleovská data

Tabulka s průzkumnými daty se zvýrazněnými sloupci obsahujícími nuly a jedničky

Streamlined Data Ingestion with pandas

Booleovská data

Tabulka s průzkumnými daty se zvýrazněnými sloupci obsahujícími hodnoty True a False

Streamlined Data Ingestion with pandas

Booleovská data

Tabulka s průzkumnými daty se zvýrazněnými sloupci obsahujícími hodnoty yes a no

Streamlined Data Ingestion with pandas

pandas a booleovské hodnoty

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
Streamlined Data Ingestion with pandas

pandas a booleovské hodnoty

# Count True values
print(bootcamp_data.sum())
AttendedBootcamp                      38
AttendedBootcampTF                    38
BootcampLoan                          14
LoanTF                                14
dtype: object
# Count NAs
print(bootcamp_data.isna().sum())
ID.x                           0
AttendedBootcamp               0
AttendedBootCampYesNo          0
AttendedBootcampTF             0
BootcampLoan                 964
LoanYesNo                    964
LoanTF                       964
dtype: int64
Streamlined Data Ingestion with pandas
# Load data, casting True/False columns as Boolean
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
Streamlined Data Ingestion with pandas
# Count True values
print(bool_data.sum())
AttendedBootcamp                         38
AttendedBootCampYesNo                  1000
AttendedBootcampTF                       38
BootcampLoan                            978
LoanYesNo                              1000
LoanTF                                  978
dtype: object
# Count NA values
print(bool_data.isna().sum())
ID.x                       0
AttendedBootcamp           0
AttendedBootCampYesNo      0
AttendedBootcampTF         0
BootcampLoan               0
LoanYesNo                  0
LoanTF                     0
dtype: int64
Streamlined Data Ingestion with pandas

pandas a booleovské hodnoty

  • pandas načítá sloupce True/False jako float ve výchozím nastavení
  • Sloupec lze nastavit jako bool pomocí argumentu dtype funkce read_excel()
  • Booleovské sloupce mohou obsahovat pouze hodnoty True a False
  • Hodnoty NA/chybějící hodnoty v booleovských sloupcích jsou změněny na True
  • pandas automaticky rozpozná některé hodnoty jako True/False v booleovských sloupcích
  • Nerozpoznané hodnoty v booleovském sloupci jsou také změněny na True
Streamlined Data Ingestion with pandas

Nastavení vlastních hodnot True/False

  • Argument true_values funkce read_excel() slouží k nastavení vlastních hodnot True
  • Argument false_values slouží k nastavení vlastních hodnot False
  • Každý přijímá seznam hodnot, které se mají považovat za True/False
  • Vlastní hodnoty True/False se použijí pouze na sloupce nastavené jako booleovské
Streamlined Data Ingestion with pandas

Nastavení vlastních hodnot True/False

# Load data with Boolean dtypes and custom T/F values
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"])
Streamlined Data Ingestion with pandas

Nastavení vlastních hodnot True/False

print(bool_data.sum())
AttendedBootcamp                                  38
AttendedBootCampYesNo                             38
AttendedBootcampTF                                38
BootcampLoan                                     978
LoanYesNo                                        978
LoanTF                                           978
dtype: object
Streamlined Data Ingestion with pandas

Aspekty booleovských dat

  • Obsahuje sloupec chybějící hodnoty, nebo by je mohl obsahovat v budoucnu?
  • Jak bude tento sloupec použit v analýze?
  • Co by se stalo, kdyby byla hodnota nesprávně zakódována jako True?
  • Lze data modelovat jiným způsobem (např. jako float nebo integer)?
Streamlined Data Ingestion with pandas

Lass uns üben!

Streamlined Data Ingestion with pandas

Preparing Video For Download...