Модифікація імпорту: дані True/False

Оптимізоване завантаження даних із pandas

Amany Mahfouz

Instructor

Логічні дані

  • Дані True/False

Електронна таблиця з опитуванням і кількома стовпцями true/false

Оптимізоване завантаження даних із pandas

Логічні дані

Електронна таблиця з опитуванням; підсвічені стовпці про відвідування буткемпу

Оптимізоване завантаження даних із pandas

Логічні дані

Електронна таблиця з опитуванням; підсвічені стовпці про використання позики

Оптимізоване завантаження даних із pandas

Логічні дані

Електронна таблиця з опитуванням і кількома стовпцями True/False

Оптимізоване завантаження даних із pandas

Логічні дані

Електронна таблиця з опитуванням; підсвічені стовпці з нулями й одиницями

Оптимізоване завантаження даних із pandas

Логічні дані

Електронна таблиця з опитуванням; підсвічені стовпці з Trues і Falses

Оптимізоване завантаження даних із pandas

Логічні дані

Електронна таблиця з опитуванням; підсвічені стовпці з yes/no

Оптимізоване завантаження даних із pandas

pandas і булеві значення

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
Оптимізоване завантаження даних із pandas

pandas і булеві значення

# Підрахувати значення True
print(bootcamp_data.sum())
AttendedBootcamp                      38
AttendedBootcampTF                    38
BootcampLoan                          14
LoanTF                                14
dtype: object
# Підрахувати NA
print(bootcamp_data.isna().sum())
ID.x                           0
AttendedBootcamp               0
AttendedBootCampYesNo          0
AttendedBootcampTF             0
BootcampLoan                 964
LoanYesNo                    964
LoanTF                       964
dtype: int64
Оптимізоване завантаження даних із pandas
# Завантажити дані, задавши стовпці True/False як 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
Оптимізоване завантаження даних із pandas
# Підрахувати значення True
print(bool_data.sum())
AttendedBootcamp                         38
AttendedBootCampYesNo                  1000
AttendedBootcampTF                       38
BootcampLoan                            978
LoanYesNo                              1000
LoanTF                                  978
dtype: object
# Підрахувати значення NA
print(bool_data.isna().sum())
ID.x                       0
AttendedBootcamp           0
AttendedBootCampYesNo      0
AttendedBootcampTF         0
BootcampLoan               0
LoanYesNo                  0
LoanTF                     0
dtype: int64
Оптимізоване завантаження даних із pandas

pandas і булеві значення

  • pandas типово завантажує стовпці True/False як float
  • Вкажіть тип bool через аргумент dtype у read_excel()
  • Логічні стовпці можуть мати лише значення True і False
  • NA/пропуски в логічних стовпцях змінюються на True
  • pandas автоматично розпізнає деякі значення як True/False у логічних стовпцях
  • Нерозпізнані значення в логічному стовпці також змінюються на True
Оптимізоване завантаження даних із pandas

Власні значення True/False

  • Використайте аргумент true_values у read_excel() для власних значень True
  • Використайте false_values для власних значень False
  • Обидва приймають список значень, які вважати True/False відповідно
  • Кастомні значення True/False застосовуються лише до стовпців типу Boolean
Оптимізоване завантаження даних із pandas

Власні значення True/False

# Завантажити дані з типами Boolean і власними значеннями T/F
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"])
Оптимізоване завантаження даних із pandas

Власні значення True/False

print(bool_data.sum())
AttendedBootcamp                                  38
AttendedBootCampYesNo                             38
AttendedBootcampTF                                38
BootcampLoan                                     978
LoanYesNo                                        978
LoanTF                                           978
dtype: object
Оптимізоване завантаження даних із pandas

Що врахувати для Boolean

  • Чи є пропуски або можуть з'явитися згодом?
  • Як цей стовпець використовуватиметься в аналізі?
  • Що станеться, якщо значення помилково закодують як True?
  • Чи можна подати дані інакше (наприклад, як float або integer)?
Оптимізоване завантаження даних із pandas

Давайте потренуємось!

Оптимізоване завантаження даних із pandas

Preparing Video For Download...