您可以在中指定Index.isin
用于删除的值:
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
['YTD2017', 'two', 'YTD2017', 'two', 'YTD2017', 'two', 'YTD2017', 'two']]
tuples = list(zip(*arrays))
mux = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame(index=[0], columns=mux)
print (df)
first bar baz foo qux
second YTD2017 two YTD2017 two YTD2017 two YTD2017 two
0 NaN NaN NaN NaN NaN NaN NaN NaN
df = (df.loc[:, ~df.columns.get_level_values(0).isin(['foo','qux']) |
(df.columns.get_level_values(1) != 'YTD2017')])
print (df)
first bar baz foo qux
second YTD2017 two YTD2017 two two two
0 NaN NaN NaN NaN NaN NaN
或为以下两个级别创建元组值DataFrame.drop
:
df = df.drop([('foo','YTD2017'), ('qux','YTD2017')], axis=1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句