【发布时间】:2016-09-04 04:10:55
【问题描述】:
我似乎无法将时间戳转换为 unix 时间戳格式,并假设我遗漏了一些要点。寻求帮助。
我在 df 中有一个列,它是一个日期时间对象,格式如下: YYYY-MM-DD HH:MM:SS 我需要一个带有 unix 标记的新列。
我将 csv 带入 python:
gps = filepath here
dateparse= lambda x: pd.datetime.strptime(x, '%Y%m%d %H:%M:%S')
gps_dat = pd.read_csv(gps, parse_dates=['date_stamp'],date_parser=dateparse)
每当我尝试将此列更改为 unix 标记时,我都会收到有关错误格式或“datetime.datetime”没有属性“datetime”的错误:
gps_dat['unix']=datetime.datetime(gps_dat['date_stamp'])
我应该使用
calendar.timegm(tuple)
我还在学习,所以任何帮助将不胜感激!
【问题讨论】:
-
您可能导入了
datetime.datetime而不仅仅是datetime,所以当您调用datetime.datetime时,您实际上是在调用datetime.datetime.datetime,它没有定义。抱歉听起来有点像 Xzibit,但是... :) -
我认为这绝对解决了部分问题,谢谢!当我使用: gps_dat['unix']=datetime.datetime(gps_dat['date_stamp']) 现在我收到错误“无法将系列转换为
” -
gps_dat['date_stamp']长什么样子? -
gps_dat['date_stamp'] 是我的数据框中的一列:2015-04-16 15:23:20
-
我的意思是,它已经是一个
datetime对象,还是一个字符串?如果它已经是datetime对象,则只需使用gps_dat['unix'] = gps_dat['date_stamp']。如果是字符串,请使用gps_dat['unix'] = datetime.strptime(gps_dat['date_stamp'], '%Y-%m-%d %H:%M:%S')
标签: python pandas timestamp unix-timestamp