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 列を既定で float として読み込むread_excel() の dtype で列を bool に指定するTrue と False のみが入るTrue に変換されるpandas は一部の値を自動で True/False と判定するTrue に変換されるread_excel() の true_values で独自の True 値を指定false_values で False 値を指定True/False とみなす値のリストを渡すTrue/False はブール型に設定した列にのみ適用# ブール型とカスタム 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で効率よくデータを取り込む