我有一个带有指数(ID,Date)的数据框架,我希望在一定的时间框架内选择所有的观测结果(例如06-1988 : 11-1988)。如果不是所有的观察都在某个ID的时间框架内出现,我仍然想包括那些存在的观察。
可视化我的数据框架给出一个更好的想法:(面板是不平衡的)
Var1 Var2
ID Date
10113 2010-07 24.7000 24.7000
2010-08 25.2600 24.7000
2010-09 25.2800 25.2800
2010-10 25.3700 25.3700
10223 2010-09 24.7000 24.7000
2010-10 25.2600 25.2600
2011-11 25.2800 25.2800
2011-12 25.3700 25.3700
2012-01 25.2900 25.2900
例如,我希望得到2010-09年和2011-12年期间的所有观察结果,我希望得到以下输出:
Var1 Var2
ID Date
10113 2010-09 25.2800 25.2800
2010-10 25.3700 25.3700
10223 2010-09 24.7000 24.7000
2010-10 25.2600 25.2600
2011-11 25.2800 25.2800
2011-12 25.3700 25.3700
我还有一个具有相同两个多索引设置的系列,下面的命令起作用了:
X.loc[:,'1988-06':'1998-07']
如果我想要所有ID在1988-06和1998-07之间的所有观察,当我尝试同样的方法对Dataframe,我得到一个KeyError。
对Dataframe也可以这样做吗?
发布于 2019-05-16 13:07:35
您试过只使用一个“日期”值访问它吗?类似于:X.loc[:,'1988-06']
这个问题也可能有所帮助:pandas: slice a MultiIndex by range of secondary index
发布于 2019-05-16 13:17:42
试试这个:
out_frame = df[(df['Date'] > '2010-09') & (df['Date'] < '2012-12')]
https://stackoverflow.com/questions/56168839
复制相似问题