【发布时间】:2019-11-27 03:48:13
【问题描述】:
我正在尝试将一列时间戳 (YYYY-MM-DD HH-MM-SS) 从 pandas df 转换为秒。
这是我当前的代码:
df['recorded_time'] = pd.to_datetime(df['recorded_time'])
df['timestamp'] = df['recorded_time'].datetime.total_seconds() #creating a new column
我不断收到的错误是:
AttributeError: 'Series' object has no attribute 'datetime'.
谁能指出我可能遗漏了一个步骤?
【问题讨论】:
-
因为它没有。
to_datetime将返回一个datetime64值,该值不具有与常规 python 日期时间相同的方法/属性。你需要使用.dt访问器,所以像df['timestamp'] = df['recorded_time'].dt.这样total_seconds()是python 中的datetime.timedelta方法,所以我并没有真正按照你的期望去做,即使我们把它翻译成熊猫。 何时?的秒数 -
@roganjosh 2019/01/01 00:00:00 会起作用...我试图遵循这个:stackoverflow.com/questions/56430069/… 但是,我仍然遇到相同的属性错误。
-
roganjosh 想说的是总秒数是一个时间增量,这意味着它需要两个时间点之间的总秒数。在这种情况下,您只有一个时间戳(一个时间点)。所以取“总秒数”是没有意义的。从什么时候开始的总秒数?