对不起,这是关于切片大熊猫的基本问题。假设我创建了一个非单调索引的数据框:
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
为什么当索引不是单调时,它会返回整个数据帧?