我在 pandas.to_datetime 函数中看到了一个奇怪的行为。如果我输入一个字符串,我会得到正确的日期:
In [100]: pandas.to_datetime(' 2012-10-19 16:32:35')
Out[100]: datetime.datetime(2012, 10, 19, 16, 32, 35)
但是,我有一个数据集,其中包含一个日期时间列,其中的字符串格式与上面第 100 行中的字符串格式相同:
In [101]: data_frame = pandas.read_csv('my_data.csv', header=None, names=['bid', 'datetime'])
In [102]: data_frame.ix[0]
Out[102]:
bid 428916
datetime 2012-10-19 16:32:35 # NOTE: THIS IS A STRING
Name: 0
当我尝试将 datetime 列设置为时间戳时,我得到一个非常奇怪的 datetime 对象:
In [102]: data_frame['datetime'] = pandas.to_datetime(data_frame['datetime'])
In [103]: data_frame.ix[0]
Out [103]:
bid 428916
datetime 1970-01-16 80:32:35 # SEE THIS
Name: 0
所以要么我误解了 to_datetime 的工作方式(很可能),要么这是意外的行为(不太可能)。它是哪一个?