df2 = pd.DataFrame({'test':[False,True,True]})
df2.loc[0,'Test']=np.nan
上面的结果df将"test"列转换为float,其中True将转换为1.0。是否可以设置这个值,将列的dtype保持为obj,这样我就可以混合float和bool,即
test
0 NaN
1 True
2 True
dtype=object
是的。您需要告诉Pandas该列属于dtype
对象
pd.DataFrame({'test':[False,True,True]}, dtype=object)
如果更改现有数据帧
df2['test'] = df2['test'].astype(object)