Drop是一种非常灵活的方法,使用方法也不少:
In [11]: mi = pd.MultiIndex.from_product([['col1', 'col2', 'col3'], ['a', 'b']])
In [12]: df = pd.DataFrame(1, index=[0], columns=mi)
In [13]: df
Out[13]:
col1 col2 col3
a b a b a b
0 1 1 1 1 1 1
使用元组删除单个列:
In [14]: df.drop(('col1', 'a'), axis=1)
Out[14]:
col1 col2 col3
b a b a b
0 1 1 1 1 1
或使用元组列表的列表:
In [15]: df.drop([('col1', 'a'), ('col2', 'b')], axis=1)
Out[15]:
col1 col2 col3
b a a b
0 1 1 1 1
或跨越一个级别,例如全部as:
In [16]: df.drop('a', level=1, axis=1)
Out[16]:
col1 col2 col3
b b b
0 1 1 1
在 0.14 中,您还可以通过正则表达式来删除要删除的内容...
还有一种方法可以删除索引/列的整个级别:
In [21]: df.columns.droplevel(1)
Out[21]: Index([u'col1', u'col1', u'col2', u'col2', u'col3', u'col3'], dtype='object')