“系列”对象没有属性“日期时间”

时间:2019-11-26 19:28:23

标签: python pandas datetime

我正在尝试将一列时间戳(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'

谁能指出我可能错过的地方?

1 个答案:

答案 0 :(得分:1)

我正在使用example you gave in a comment作为df。如果不使用datetime.datetime访问器,则无法对熊猫datetime64值使用常规的.dt方法。除了链接到的示例外,您还说过要total_seconds引用2019/01/01 00:00:00的基本日期时间。 timedelta必须始终具有某种参考点,否则可以是任意值。

import pandas as pd

df1 = pd.DataFrame({'lat':[15.13,12.14,13.215,11.1214,12.14], 
              'lon': [38.52, 37.536,39.86,38.536,37.536],
              'Datetime': pd.to_datetime(['2019-03-09 16:05:07',
                                          '2019-03-15 09:50:07',
                                          '2019-03-09 11:03:47',
                                          '2019-03-10 16:41:18',
                                          '2019-03-09 06:15:27']),
              'temp':[23,22,21,22,19]})

# We can just call it once to get a reference to your datum point
base_dt = pd.to_datetime('2019/01/01 00:00:00')

df1['seconds'] = (df1['Datetime'] - base_dt).dt.total_seconds()