Python 2.7 时间戳转换无法产生所需的结果

Python 2.7 时间戳转换无法产生所需的结果,python-2.7,datetime,pandas,time,Python 2.7,Datetime,Pandas,Time,我有一个带有日期和时间列的pandas数据帧,我正在尝试以微秒的精度将这两列转换为Unix时间戳,这样我就可以将数据帧转储到numpy内存映射文件中(它需要浮点,或者至少不需要日期对象,所以这是必要的) 因此,在没有数据帧的情况下,仅使用字符串,我得到以下结果: DT = '2014-10-01 00:00:07.082000' UX= time.mktime(datetime.datetime.strptime(DT, '%Y-%m-%d %H:%M:%S.%f').timetuple())

我有一个带有日期和时间列的pandas数据帧,我正在尝试以微秒的精度将这两列转换为Unix时间戳,这样我就可以将数据帧转储到numpy内存映射文件中(它需要浮点,或者至少不需要日期对象,所以这是必要的)

因此,在没有数据帧的情况下,仅使用字符串,我得到以下结果:

DT = '2014-10-01 00:00:07.082000'

UX= time.mktime(datetime.datetime.strptime(DT, '%Y-%m-%d %H:%M:%S.%f').timetuple())
print UX
>>> 1412118007.0

tm = datetime.datetime.fromtimestamp(UX)
print tm
>>>2014-10-01 00:00:07
那么,我如何将微秒包含在时间戳中呢?

这样就可以了=)


对于unix时间,您可以使用
ns
精度强制转换到
np.int64

df = pd.DataFrame({'A':['2014-10-01 00:00:07.082000', '2014-10-01 00:00:07.082000']})
print (df)
                            A
0  2014-10-01 00:00:07.082000
1  2014-10-01 00:00:07.082000

df['A'] = pd.to_datetime(df.A)

df['B'] = df.A.astype(np.int64)
df['C'] = pd.to_datetime(df.B, unit='ns')
print (df)
                        A                    B                       C
0 2014-10-01 00:00:07.082  1412121607082000000 2014-10-01 00:00:07.082
1 2014-10-01 00:00:07.082  1412121607082000000 2014-10-01 00:00:07.082
对于
ms
精度使用:

df['B'] = (df.A.astype(np.int64) // 10**6)
df['C'] = pd.to_datetime(df.B, unit='ms')
print (df)
                        A              B                       C
0 2014-10-01 00:00:07.082  1412121607082 2014-10-01 00:00:07.082
1 2014-10-01 00:00:07.082  1412121607082 2014-10-01 00:00:07.082

但这不是一个时间戳,它是一个日期时间对象,不能从.npy文件中存储和读取。
df['B'] = (df.A.astype(np.int64) // 10**6)
df['C'] = pd.to_datetime(df.B, unit='ms')
print (df)
                        A              B                       C
0 2014-10-01 00:00:07.082  1412121607082 2014-10-01 00:00:07.082
1 2014-10-01 00:00:07.082  1412121607082 2014-10-01 00:00:07.082