Pandas ermöglicht cool Slicing auf Zeitindizes. Zum Beispiel kann ich einen Datenrahmen df
für die Monate von Janurary 2012 bis März 2012 in Scheiben schneiden, indem Sie:Zeitscheibe auf der zweiten Ebene des Multiindex
df['2012-01':'2012-03']
Ich habe jedoch einen Datenrahmen df
mit einem Multiindex, wo der Zeitindex die zweite Ebene ist. Es sieht aus wie:
df.loc['a']['2012-01':'2012-03']
Das ist aber nur für level0 == 'a'
:
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
ich immer noch die Methode unter Verwendung der oben auf einem bestimmten Niveau durch in Scheiben schneiden kann.
Wie mache ich das für alle Werte in level0
? Ich erwarte, dass so etwas wie dies:
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