使用非单调索引切片Pandas数据帧会产生意外结果

时间:2014-05-03 00:29:16

标签: python datetime pandas slice

对不起,这是关于切片大熊猫的基本问题。假设我创建了一个非单调索引的数据框:

df1 = pd.concat( [ pd.DataFrame( randn(2,2), index=pd.date_range('2014/01/01', periods=2) ), 
                  pd.DataFrame( randn(2,2), index=pd.date_range('2013/01/01', periods=2) ), ] )

输出:

             0           1
2014-01-01   0.493182   -2.115045
2014-01-02   0.773144   -0.857416
2013-01-01  -1.048656   -0.066363
2013-01-02   0.022071    0.034887

以下按预期方式工作:

df1[ pd.Timestamp('2013-01-01'): ]

输出

             0           1
2013-01-01  -1.048656   -0.066363
2013-01-02   0.022071    0.034887

但如果我这样做:

df1[ '2013-01-01': ]

我明白了:

             0           1
2014-01-01   0.493182   -2.115045
2014-01-02   0.773144   -0.857416
2013-01-01  -1.048656   -0.066363
2013-01-02   0.022071    0.034887

为什么当索引不是单调时,它会返回整个数据帧?

0 个答案:

没有答案