我正在处理从Excel文件导入Jupyter笔记本的数据集。原始文件的列中包含True和False值。当转换为数据帧时,这些值将转换为float64类型的0和1。该列也缺少一些值。
我尝试使用将它们转换回布尔类型
.astype('bool')
很奇怪,我发现丢失的数据已转换为True。
为什么会这样??
我尝试通过仅选择notnull()
值来避免这种情况,但是类型更改为Object not boolean
答案 0 :(得分:0)
这是因为所有内容评估为 True ,而空字符串评估为 False 。例如,您可以尝试以下操作:
File <path, including fragment> does not exist
然后,您可以使用Expected scheme-specific part at index 5
正确切换值:
List= ['True','False','False','False']
df= pd.DataFrame(List)
在您的情况下,您具有nan值。因此:
map
输出:
df= df[0].map({'False':False, 'True':True})