使用 pandas 的精實資料導入
Amany Mahfouz
Instructor
True/False 資料






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
# 計算 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
# 載入資料,將 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
# 計算 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 預設把 True/False 欄位讀成 float 資料read_excel() 的 dtype 參數將欄位設為 boolTrue 與 False 值Truepandas 會在布林欄位自動辨識部分 True/False 值Trueread_excel() 的 true_values 參數自訂 True 值false_values 自訂 False 值True/FalseTrue/False 僅套用到設為布林的欄位# 以布林 dtype 與自訂 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"])
print(bool_data.sum())
AttendedBootcamp 38
AttendedBootCampYesNo 38
AttendedBootcampTF 38
BootcampLoan 978
LoanYesNo 978
LoanTF 978
dtype: object
True,會造成什麼影響?使用 pandas 的精實資料導入