python - 将 float 值设置为 bool pandas 列而不转换为 float

标签 python pandas

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)

关于python - 将 float 值设置为 bool pandas 列而不转换为 float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58527925/

相关文章:

python - Base64 解码图像的 Rails API ASCII 转换错误

python - 合并 CSV 数据并计算 python pandas 中的单元格值

python - 基于在 "sub"Dataframe 上创建的 groupby 创建新的较小的 "root"DataFrameS

python - 使用正则表达式进行模式匹配 python

python - Python 中的错误最近邻

python - 根据条件为自定义列分配值

python - Python 中的实验设计 (DoE)?

python - 确定数组 B 的每个元素在另一个数组 A 中的位置

python - 将 numpy.array a 与 numpy.array b 的前导维度相乘

python - 使用子进程 PIPE 在 Python 脚本之间发送字符串