如何将pandas中Nullable整数类型的<NA>值替换为空字符串
解决方法
普通replace方法不生效的核心原因是pd.Int64Dtype属于Nullable整数类型,仅支持存储整数和pd.NA,无法直接存入字符串类型的空值,必须先转换为支持混合类型存储的object类型再做替换。
方法1:使用pandas内置方法批量处理
# 保留非NA值,NA值替换为空字符串后转object类型 arr = arr.where(arr.notna(), "").astype(object)
处理后直接输出arr即可得到[1, 2, '', 4]的效果,打印时空字符串无内容,会呈现你需要的[1, 2, , 4]视觉效果。
方法2:列表推导式处理
如果只需要得到符合格式的列表结果,无需保留pandas数组结构,可以直接遍历处理:
res = [x if pd.notna(x) else "" for x in arr]
得到的res就是预期的目标结果。
内容的提问来源于stack exchange,提问作者rohi
相关产品推荐
相关产品推荐

