【发布时间】:2016-01-18 22:52:12
【问题描述】:
我有一个由 datetime.date 索引的时间序列。这是该系列的第一个结:
1999-12-31 0
2000-06-30 170382.118454
2000-12-29 -319260.443362
我想从系列开始到 2000 年 12 月 28 日进行切片,但这不起作用,因为该日期不在索引中(当我尝试 original_series[:datetime.date(2000,12,28)] 时出现 KeyError。我也尝试过转换时间戳的索引,但这会给出非常虚假的结果(它会制造假结,见下文),所以我想知道是否有解决这个问题的好方法。
test = pd.Series(original_series.values, map(pd.Timestamp, original_series.index))
乍一看,这看起来不错:
1999-12-31 0.000000
2000-06-30 170382.118454
2000-12-29 -319260.443362
然后我尝试进行切片(2000 年 1 月的那些额外的日子是从哪里来的?):
In [84]: test[:'2000-12-28']
Out[84]:
1999-12-31 0.000000
2000-06-30 170382.118454
2000-01-03 -71073.979016
2000-01-04 100498.744748
2000-01-05 91104.743684
2000-01-06 82290.255459
【问题讨论】:
标签: python datetime pandas slice series