熊猫时间戳减法

时间:2013-02-19 02:31:57

标签: python datetime pandas

我有一个这样的时间戳列。

In [493]: df_data['last_seen'][:5]
Out[493]: 
1   1838-10-31 01:36:32.493180416
2   1826-08-10 09:38:02.493180416
3   1839-05-04 21:14:42.493180416
4   1831-06-11 17:44:24.493180416
5   1820-01-26 10:32:07.493180416
Name: last_seen

我想要从每行的最新时间戳开始经过的小时数。所以我写了

df['last_seen'] = df['last_seen'] - df['last_seen'].max() 

这会引发错误。

AttributeError: 'Timestamp' object has no attribute 'dtype'

请注意,当我要求:

>>> type(df['last_seen']) 
>>> pandas.core.series.Series

>>> type(df_data['last_seen'][1])
>>> pandas.tslib.Timestamp

2 个答案:

答案 0 :(得分:1)

我没有正确解析日期。正如你所看到的那样,1838年的所有日期都很明显!我使用了通用的dateutil解析器,上面的语句也可以。

pd.read_csv('pet_data.csv', parse_dates=['last_seen'], date_parser=dateutil.parser.parse, skipfooter=1)

答案 1 :(得分:1)

这是一个错误

已修复此PR

https://github.com/pydata/pandas/pull/2899