You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用df.applymap(str)时如何避免将NAN转为字符串类型

解决方案

修改applymap的转换逻辑,仅对非空值执行字符串转换,空值保留原始状态即可:

df = df.applymap(lambda x: str(x) if pd.notna(x) else x)

如果没有给pandas设置pd别名,替换为pandas.notna(x)即可。


原写法失效与适配说明

  • 你尝试的df.where(~df.notna(),df.applymap(str))逻辑顺序错误:df.applymap(str)会先执行,所有空值已经被转换为字符串'nan',后续条件判断无法识别原始空值
  • 本方案完全基于applymap实现,逐元素判断空值使用pandas原生的pd.notna()方法,不会触发「boolean value of NA is ambiguous」报错,完全符合你的限制要求。

内容的提问来源于stack exchange,提问作者J_Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 19:15:03