使用 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 列设为布尔型 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 列读取为浮点型read_excel() 的 dtype 参数中将列设为 boolTrue 和 FalseTruepandas 会自动识别部分值为 True/FalseTrueread_excel() 的 true_values 指定自定义 True 值false_values 指定自定义 False 值True/False 的值列表True/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 高效导入数据