Python 2.7 时间戳序列的Pandas.Series.map函数中的古怪之处

Python 2.7 时间戳序列的Pandas.Series.map函数中的古怪之处,python-2.7,pandas,Python 2.7,Pandas,在熊猫系列上应用函数时发生了一些奇怪的事情 In [508]: id = lambda x : x In [509]: tt = lambda x : type(x) In [510]: timeSeries Out[510]: 0 1900-01-01 20:11:49.075690 1 1900-01-01 20:11:49.082546 2 1900-01-01 20:11:52.535287 3 1900-01-01 20:11:52.535372 4 1900-0

在熊猫系列上应用函数时发生了一些奇怪的事情

In [508]: id = lambda x : x
In [509]: tt = lambda x : type(x)
In [510]: timeSeries
Out[510]: 
0   1900-01-01 20:11:49.075690
1   1900-01-01 20:11:49.082546
2   1900-01-01 20:11:52.535287
3   1900-01-01 20:11:52.535372
4   1900-01-01 20:11:52.535528
Name: timeSeries

In [511]: timeSeries.map(id)
Out[511]: 
0    1969-12-06 172:11:49.075690
1    1969-12-06 172:11:49.082546
2    1969-12-06 172:11:52.535287
3    1969-12-06 172:11:52.535372
4    1969-12-06 172:11:52.535528
Name: timeSeries
这里,通过应用id函数,时间戳发生了变化 新时间中的小时不正确。 更多:类型也已更改

In [513]: type(timeSeries[0])
Out[513]: pandas.lib.Timestamp

In [512]: timeSeries.map(tt)
Out[512]: 
0    <type 'numpy.datetime64'>
1    <type 'numpy.datetime64'>
2    <type 'numpy.datetime64'>
3    <type 'numpy.datetime64'>
4    <type 'numpy.datetime64'>
Name: timeSeries
有人能解释一下这里发生了什么吗? 我想用一个定制的函数做一个映射,我期望pandas.lib.Timestamp类型。 或者,如果有办法将np.datetime64转换为有效时间

编辑:下面的工作将np.datetime64转换回时间戳。但上面的说法还是很奇怪

In [528]: pd.lib.Timestamp(time2[0])
Out[528]: <Timestamp: 1900-01-01 20:11:49.075690>
In [529]: time2[0]
Out[529]: 1969-12-06 172:11:49.075690

我猜这是关于np.datetime64和pandas.lib.Timestamp之间的内部格式差异???

我想这是在10.1中修复的
In [528]: pd.lib.Timestamp(time2[0])
Out[528]: <Timestamp: 1900-01-01 20:11:49.075690>
In [529]: time2[0]
Out[529]: 1969-12-06 172:11:49.075690