Modyfikowanie importów: dane prawda/fałsz

Sprawne importowanie danych z pandas

Amany Mahfouz

Instructor

Dane logiczne

  • Dane True/False

Arkusz kalkulacyjny z danymi ankiety z kilkoma kolumnami prawda/fałsz

Sprawne importowanie danych z pandas

Dane logiczne

Arkusz kalkulacyjny z danymi ankiety z wyróżnionymi kolumnami dotyczącymi uczestnictwa w bootcampie

Sprawne importowanie danych z pandas

Dane logiczne

Arkusz kalkulacyjny z danymi ankiety z wyróżnionymi kolumnami dotyczącymi wykorzystania pożyczki

Sprawne importowanie danych z pandas

Dane logiczne

Arkusz kalkulacyjny z danymi ankiety z kilkoma kolumnami True/False

Sprawne importowanie danych z pandas

Dane logiczne

Arkusz kalkulacyjny z danymi ankiety z wyróżnionymi kolumnami zawierającymi zera i jedynki

Sprawne importowanie danych z pandas

Dane logiczne

Arkusz kalkulacyjny z danymi ankiety z wyróżnionymi kolumnami zawierającymi wartości True i False

Sprawne importowanie danych z pandas

Dane logiczne

Arkusz kalkulacyjny z danymi ankiety z wyróżnionymi kolumnami zawierającymi wartości yes i no

Sprawne importowanie danych z pandas

pandas i wartości logiczne

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
Sprawne importowanie danych z pandas

pandas i wartości logiczne

# 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
Sprawne importowanie danych z 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
Sprawne importowanie danych z 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
Sprawne importowanie danych z pandas

pandas i wartości logiczne

  • pandas domyślnie wczytuje kolumny True/False jako typ float
  • Typ bool dla kolumny należy określić za pomocą argumentu dtype w read_excel()
  • Kolumny logiczne mogą zawierać wyłącznie wartości True i False
  • Wartości NA/brakujące w kolumnach logicznych są zamieniane na True
  • pandas automatycznie rozpoznaje niektóre wartości jako True/False w kolumnach logicznych
  • Nierozpoznane wartości w kolumnie logicznej są również zamieniane na True
Sprawne importowanie danych z pandas

Ustawianie niestandardowych wartości True/False

  • Argument true_values w read_excel() pozwala ustawić niestandardowe wartości True
  • Argument false_values pozwala ustawić niestandardowe wartości False
  • Każdy z nich przyjmuje listę wartości traktowanych odpowiednio jako True/False
  • Niestandardowe wartości True/False są stosowane tylko do kolumn ustawionych jako logiczne
Sprawne importowanie danych z pandas

Ustawianie niestandardowych wartości 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"])
Sprawne importowanie danych z pandas

Ustawianie niestandardowych wartości True/False

print(bool_data.sum())
AttendedBootcamp                                  38
AttendedBootCampYesNo                             38
AttendedBootcampTF                                38
BootcampLoan                                     978
LoanYesNo                                        978
LoanTF                                           978
dtype: object
Sprawne importowanie danych z pandas

Zagadnienia dotyczące wartości logicznych

  • Czy w danych są braki lub mogą się pojawić w przyszłości?
  • W jaki sposób kolumna będzie używana w analizie?
  • Co się stanie, jeśli wartość zostanie błędnie zakodowana jako True?
  • Czy dane można zamodelować inaczej (np. jako float lub integer)?
Sprawne importowanie danych z pandas

Czas na ćwiczenia!

Sprawne importowanie danych z pandas

Preparing Video For Download...