2016-07-13 12 views
4

パンダでは、時間インデックスでクールスライシングが可能です。例えば、私が行って、2012年3月までJanurary 2012から数ヶ月のためのデータフレームdfをスライスすることができますマルチインデックスの第2レベルのタイムスライス

df['2012-01':'2012-03'] 

はしかし、私は時間インデックスが第2のレベルであるマルチインデックスとデータフレームdfを持っています。私はまだことにより、任意の特定のレベルに上記の方法を使用してスライスすることができます

     A   B   C   D   E 
a 2001-01-31 0.864841 0.789273 0.370031 0.448256 0.178515 
    2001-02-28 0.991861 0.079215 0.900788 0.666178 0.693887 
    2001-03-31 0.016674 0.855109 0.984115 0.436574 0.480339 
    2001-04-30 0.120924 0.046013 0.659807 0.210534 0.694029 
    2001-05-31 0.788149 0.296244 0.478201 0.845042 0.437814 
b 2001-01-31 0.497646 0.349958 0.223227 0.812331 0.975012 
    2001-02-28 0.542572 0.472267 0.276186 0.970909 0.138683 
    2001-03-31 0.960813 0.666942 0.069349 0.282741 0.127992 
    2001-04-30 0.491422 0.678742 0.048784 0.612312 0.713472 
    2001-05-31 0.718721 0.504403 0.069047 0.253682 0.836386 

df.loc['a']['2012-01':'2012-03'] 

しかし、これが唯一のlevel0 == 'a'のためであるように見えます。

level0のすべての値に対してこれを行うにはどうすればよいですか?

     A   B   C   D   E 
a 2001-01-31 0.864841 0.789273 0.370031 0.448256 0.178515 
    2001-02-28 0.991861 0.079215 0.900788 0.666178 0.693887 
    2001-03-31 0.016674 0.855109 0.984115 0.436574 0.480339 
b 2001-01-31 0.497646 0.349958 0.223227 0.812331 0.975012 
    2001-02-28 0.542572 0.472267 0.276186 0.970909 0.138683 
    2001-03-31 0.960813 0.666942 0.069349 0.282741 0.127992 

答えて

4

使用pd.IndexSlice

df.loc[pd.IndexSlice[:, '2001-01':'2001-3'], :] 

enter image description here

:私はこのような何かを期待します
関連する問題