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

如何将含datetime、字符串、空值的多类型行转为字符串且保留日期格式

解决方案

如果你的datetime类型默认转字符串的输出和你要保留的原有日期格式一致,直接使用fillna+astype即可,效率远高于apply:

processed_row = example_row.fillna('').astype(str)

这个方法会先将行内所有空值(包括None、pd.NaT、np.nan)统一替换为空字符串,再统一转为字符串类型,既不会出现'None'/'NaT'这类无效字符串,也会完全保留你之前用astype(str)得到的日期格式。


如果你需要统一指定日期输出格式(比如固定为YYYY-MM-DD、YYYY-MM-DD HH:MM:SS等),可以使用带类型判断的apply逻辑,同时适配原生datetime、pandas Timestamp类型:

# 按自己的需求修改strftime内的格式字符串
processed_row = example_row.apply(lambda x: x.strftime('%Y-%m-%d') if hasattr(x, 'strftime') else str(x) if not pd.isnull(x) else '')

说明

你之前尝试的astype(str, skipna=True)无效,是因为pandas的astype方法本身并没有skipna参数,该参数不会生效;如果要针对空值做特殊处理,提前用fillna替换空值是最简洁的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:30:07