In the following DataFrame there are a 2-level MultiIndex, namely city
and date
:
temp
count
city date
SFO 2014-05-31 31
2014-06-30 30
2014-07-31 31
2014-08-31 31
2014-09-30 30
YYZ 2014-05-31 31
2014-06-30 30
2014-07-31 31
2014-08-31 31
2014-09-30 30
I want to drop 2014-05-31
and 2014-09-30
from the date level.
How do I do this?
Comment: To build the DataFrame -
df = pd.DataFrame(
{('temp', 'count'): {('SFO', Timestamp('2014-05-31 00:00:00')): 31,
('SFO', Timestamp('2014-06-30 00:00:00')): 30,
('SFO', Timestamp('2014-07-31 00:00:00')): 31,
('SFO', Timestamp('2014-08-31 00:00:00')): 31,
('SFO', Timestamp('2014-09-30 00:00:00')): 30,
('YYZ', Timestamp('2014-05-31 00:00:00')): 31,
('YYZ', Timestamp('2014-06-30 00:00:00')): 30,
('YYZ', Timestamp('2014-07-31 00:00:00')): 31,
('YYZ', Timestamp('2014-08-31 00:00:00')): 31,
('YYZ', Timestamp('2014-09-30 00:00:00')): 30}}
).rename_axis(['city','date'])
You can give drop a specific level
:
In[4]: df.drop([Timestamp('2014-05-31'),Timestamp('2014-09-30')],level=1)
Out[4]:
temp
count
city date
SFO 2014-06-30 30
2014-07-31 31
2014-08-31 31
YYZ 2014-06-30 30
2014-07-31 31
2014-08-31 31
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With