pandas中将时间戳转化为字符串时遇到空值无法处理?
在用pandas处理数据时,从数据库中读取某一列为时间戳。用timestamp.strftime('%Y-%m-%d')将其转化为字符串格式的日期。但遇到空值会报错,请问该如何高效的实现时间戳转化为字符串,同时对空值进行适当处理。空值的元素为NaTType源代码如下:
my_fetchall['出厂日期'] = my_fetchall['出厂日期'].map(lambda x: x.strftime('%Y-%m-%d'))
回复
1个回答

test
2024-07-04
import pandas as pd
import numpy as np
# 示例数据
data = {
'出厂日期': [pd.Timestamp('2021-01-01'), pd.NaT, pd.Timestamp('2021-01-03')]
}
df = pd.DataFrame(data)
# 用 lambda 函数,当遇到 NaT 时返回 None
df['出厂日期'] = df['出厂日期'].map(lambda x: x.strftime('%Y-%m-%d') if pd.notna(x) else None)
print(df)
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容