小编Lar*_*son的帖子

如何在不在索引中的日期切片大熊猫时间序列?

我有一个由datetime.date索引的时间序列.以下是该系列的第一个结:

1999-12-31  0
2000-06-30  170382.118454
2000-12-29  -319260.443362
Run Code Online (Sandbox Code Playgroud)

我想从系列的开头到2000年12月28日切片,但这不起作用,因为那个日期不在索引中(当我尝试时我得到一个KeyError original_series[:datetime.date(2000,12,28)].我也尝试将索引转换为时间戳,但是这给出了非常虚假的结果(它制造假结,见下文),所以我想知道是否有一个很好的方法来解决这个问题.

test = pd.Series(original_series.values, map(pd.Timestamp, original_series.index))
Run Code Online (Sandbox Code Playgroud)

乍一看,这看起来没问题:

1999-12-31         0.000000
2000-06-30    170382.118454
2000-12-29   -319260.443362
Run Code Online (Sandbox Code Playgroud)

但后来我尝试做切片(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
Run Code Online (Sandbox Code Playgroud)

python datetime series slice pandas

7
推荐指数
1
解决办法
3172
查看次数

标签 统计

datetime ×1

pandas ×1

python ×1

series ×1

slice ×1