如何创建一个pandas Timestamp对象?

时间:2014-02-06 10:06:09

标签: python pandas time-series

这可能听起来像是一个微不足道的问题,但我无法找到适当的文档,包括帮助(pd.Timestamp),它没有提供明确的构造函数。

我想创建最后一个时间戳,例如2012-12-13天,所以小时是23,分钟是59,秒是59,纳秒是999999999

或者,如果我有微秒精度,那么一天的最后一个时间戳就像之前一样,除了微秒是999999

我需要通过像df.ix [:last_timestamp]

之类的东西索引原始系列来过滤所有时间戳,直到给定(结束)日期

THX

1 个答案:

答案 0 :(得分:9)

In [1]: Timestamp('20131213 11:59:59.999999999')
Out[1]: Timestamp('2013-12-13 11:59:59.999999', tz=None)

您也可以

In [3]: pd.Timestamp('20141213')-pd.Timedelta('1ns')
Out[3]: Timestamp('2014-12-12 23:59:59.999999999')

听起来你真的想要使用部分字符串切片,请参阅here

In [19]: s = Series(1,pd.date_range('20131212',freq='H',periods=25))

In [20]: s
Out[20]: 
2013-12-12 00:00:00    1
2013-12-12 01:00:00    1
2013-12-12 02:00:00    1
                      ..
2013-12-12 22:00:00    1
2013-12-12 23:00:00    1
2013-12-13 00:00:00    1
Freq: H, dtype: int64

In [21]: s['2013':'20131212']
Out[21]: 
2013-12-12 00:00:00    1
2013-12-12 01:00:00    1
2013-12-12 02:00:00    1
                      ..
2013-12-12 21:00:00    1
2013-12-12 22:00:00    1
2013-12-12 23:00:00    1
Freq: H, dtype: int64