我有一个带有日期时间索引的pandas DF: 这个选择工作正常
threeyrs=actdf['01/01/2010':'12/31/2012']
但我希望得到类似的结果(排除2010年):
threeyrs=actdf['01/01/2009':'12/01/2009','01/01/2011':'12/01/2012']
给了我“不可动摇的类型” 这给了我一个字符串
threeyrs=actdf['01/01/2009':'12/31/2009'],actdf['01/01/2011':'12/31/2012']
有方便的方法吗? dataFrame看起来像
Units
date
2000-05-01 3041
2000-06-01 3079
2000-07-01 2455
2000-08-01 2671
2000-09-01 2220
答案 0 :(得分:4)
0.12& 0.13
In [57]: df[((df.index>Timestamp('20000801')) & (df.index<=Timestamp('20000901'))) | ((df.index>Timestamp('20000501')) & (df.index<=Timestamp('20000601')))]
Out[57]:
units
date
2000-06-01 3079
2000-09-01 2220
[2 rows x 1 columns]
仅限0.13
In [58]: df.query('(date>20000801 & date<=20000901) | (date>20000501 & date<=20000601)')
Out[58]:
units
date
2000-06-01 3079
2000-09-01 2220
[2 rows x 1 columns]
答案 1 :(得分:4)
threeyrs = pd.concat([actdf['01/01/2009':'12/01/2009'], actdf['01/01/2011':'12/01/2012']])