问题描述
如果这个问题再次出现,我深表歉意,但我找不到先前答案的有效解决方案。
问题:我想从多索引数据框中删除一列。有问题的列显示为级别。我特别希望删除整个列“ typeE”
方法学,我尝试使用.drop()删除它,但必须缺少某些规范(df.drop(['typeE'],axis = 1,level = 0))>
这是df的结构。我希望删除列typeE(全部)
[Input] df.columns
[Output] MultiIndex(levels=[['typeA','typeB','typeC','typeD','typeE','typeF'],['stock','bond','cash']],labels=[[0,1,2,3,4,5,6],[1,2]])
[Input] df.index
[Output] DatetimeIndex(['2005-06-30','2005-07-01','2005-07-02'],dtype='datetime64[ns]',length=3,freq=None)
[Input] df
[Output]
typeA typeB typeC typeD typeE typeF
bond stock bond cash stock cash
2005-06-30 0.000132 0.358719 0.018888 0.132677 0.034894 0.099345
2005-07-01 0.000167 0.353419 0.018719 0.139574 0.018923 0.024892
2005-07-02 0.002300 0.357893 0.011425 0.130605 0.037289 0.028304
解决方法
您可以尝试drop
df = df.drop(('typeE','stock'),1)
df
Out[14]:
index typeA typeB typeC typeD typeF
0 bond stock bond cash cash
2005-06-30 0.000132 0.358719 0.018888 0.132677 0.099345
2005-07-01 0.000167 0.353419 0.018719 0.139574 0.024892
2005-07-02 0.002300 0.357893 0.011425 0.130605 0.028304