Python 属性错误:';时间戳';对象没有属性';时间戳

Python 属性错误:';时间戳';对象没有属性';时间戳,python,time,timestamp,Python,Time,Timestamp,在将panda对象转换为时间戳时,我面临着这个奇怪的问题 Train['date']值类似于01/05/2014,我试图将其转换为linuxtimestamp 我的代码: Train = pd.read_csv("data.tsv", sep='\t') # use TAB as column separator Train['timestamp'] = pd.to_datetime(Train['date']).apply(lambda a: a.timestamp()) 我得到了这个错误:

在将
panda
对象转换为时间戳时,我面临着这个奇怪的问题

Train['date']值类似于
01/05/2014
,我试图将其转换为linuxtimestamp

我的代码:

Train = pd.read_csv("data.tsv", sep='\t') # use TAB as column separator
Train['timestamp'] = pd.to_datetime(Train['date']).apply(lambda a: a.timestamp())
我得到了这个错误:

Traceback (most recent call last):
  File "socratis.py", line 11, in <module>
    Train['timestamp'] = pd.to_datetime(Train['date']).apply(lambda a: a.timestamp())
  File "/home/ubuntu/.local/lib/python2.7/site-packages/pandas/core/series.py", line 2220, in apply
    mapped = lib.map_infer(values, f, convert=convert_dtype)
  File "pandas/src/inference.pyx", line 1088, in pandas.lib.map_infer (pandas/lib.c:62658)
  File "socratis.py", line 11, in <lambda>
    Train['timestamp'] = pd.to_datetime(Train['date']).apply(lambda a: a.timestamp())
AttributeError: 'Timestamp' object has no attribute 'timestamp'
回溯(最近一次呼叫最后一次):
文件“socratis.py”,第11行,在
Train['timestamp']=pd.to_datetime(Train['date']).apply(lambda:a.timestamp())
文件“/home/ubuntu/.local/lib/python2.7/site packages/pandas/core/series.py”,第2220行,在apply中
mapped=lib.map\u推断(值,f,convert=convert\u数据类型)
pandas.lib.map_infere(pandas/lib.c:62658)中的文件“pandas/src/inference.pyx”,第1088行
文件“socratis.py”,第11行,在
Train['timestamp']=pd.to_datetime(Train['date']).apply(lambda:a.timestamp())
AttributeError:“Timestamp”对象没有属性“Timestamp”

datetime的方法将返回一个
时间戳
实例。我不确定您希望通过lambda函数实现什么,但似乎您正在尝试将某个对象转换为
时间戳

尝试删除“应用”部分,使其看起来像这样:

Train['timestamp']=pd.to_datetime(Train['date'])

您正在寻找的,它是在Python 3.3中添加的。熊猫本身没有参与

注意:
.timestamp()
将原始时间戳本地化为计算机的UTC偏移量。相反,这个答案中的建议是时区不可知的

由于pandas(numpy),即使使用Python 2,您也应该能够做到这一点:

Train['timestamp'] = pd.to_datetime(Train['date']).value / 1e9
或者更明确地说(从datetime文档中):


使用
来\u pydatetime()
代替

如果我们这样做,它不会将日期转换为linux时间戳。我需要试试这个。如果有效,我将更新答案:
Train['timestamp']=time.mktime(pd.to_datetime(Train['date']).timetuple())
您使用哪种python?Iam正在获取属性错误:“Series”对象没有属性“timetuple”
import pandas as pd
from datetime import datetime, timedelta

def posix_time(dt):
    return (dt - datetime(1970, 1, 1)) / timedelta(seconds=1)

Train['timestamp'] = pd.to_datetime(Train['date']).apply(posix_time)