当前位置: 首页 > 知识库问答 >
问题:

python - pandas中将时间戳转化为字符串时遇到空值无法处理?

聂溪叠
2023-05-17

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

my_fetchall['出厂日期'] = my_fetchall['出厂日期'].map(lambda x: x.strftime('%Y-%m-%d'))

共有1个答案

师腾
2023-05-17
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)
 类似资料:
  • 问题内容: 我在Python 2.7中具有以下Pandas数据框。 数据框如下所示: 该数据框来自 .csv文件。我使用熊猫作为熊猫数据框读取 .csv文件。当我使用它时,它表明该列具有数据类型。我想将此列转换为数据类型,但我只想要时间部分- 我不需要年,月,日。 我可以尝试这样: 但问题是,当我运行它仍然显示该列的。 有没有办法将此列转换为只有时间的日期时间格式? 附加信息: 要创建上述数据框并

  • 问题内容: 我正在开发一个具有聚类列的时间序列数据模型,即 我希望针对分区列“ id”和集群列“ time”执行选择。例如,id:=‘1’,时间戳:=‘2017-10-09’ 检查iterable.Close()的err后,发现编组错误 {“错误”:[“无法将字符串编组为时间戳”]} 我该如何解决? 问题答案: 这是我最后通过将字符串文字(带有时间戳)转换为类型time来解决此问题的方法。

  • 问题内容: 我有一个要求,我要获取两个ISO 8601时间戳格式的字符串,并且必须对其进行比较并获取它们的最大时间戳。字符串采用以下格式。 为了进行比较,我需要将它们转换为DB2时间戳,然后进行比较。问题出在“ T”和“ Z”字母上。因此,我无法施展。我知道我可以简单地 将T和Z进行转换,但是我想知道是否有更好的方法。 我尝试了以下功能,但无法获得所需的结果。 使用DB2 LUW v9.7 问题答

  • 问题内容: 使用PHP,我想将UNIX时间戳转换为类似于以下内容的日期字符串: 如何转换的时间戳,如到? 问题答案: 尝试这样:

  • 我有YMD hms格式的字符串,它去掉了时区。但我知道他们是在东部时间夏令时。 我试图将它们转换为UTC时间的历元时间戳。 我编写了以下函数: 这看起来符合时代时间戳。但是http://www.epochconverter.com/epoch/timezones.php?epoch=1429596727说它应该在格林威治时间4月21 2015 06:12:07UTC。 怎么了?

  • 问题内容: 我需要将时间戳字符串转换为。例如: 至 这里是月,日期,年,小时,分钟和秒。 问题答案: 您 可以 这样做: 但我 强烈 建议您改用Joda Time。从长远来看,它是一个更好的日期/时间库。特别是,Joda Time中的格式化程序/解析器是线程安全的,因此您可以自由和静态地重用它们。 不是 线程安全的,因此您需要为每个线程创建一个线程,或使用一个块序列化对其的访问。