从 MultiIndex df 中删除列

如果重复这个问题,我深表歉意,我无法找到以前答案的有效解决方案。


问题:我想从多索引数据框中删除一列。有问题的列显示为一个级别。特别是我希望删除整个列 '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, 0, 1, 2, 0, 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  


素胚勾勒不出你
浏览 112回答 1
1回答

慕神8447489

你可以试试dropdf = df.drop(('typeE','stock'),1)dfOut[14]: index          typeA     typeB     typeC     typeD     typeF0               bond     stock      bond      cash      cash2005-06-30  0.000132  0.358719  0.018888  0.132677  0.0993452005-07-01  0.000167  0.353419  0.018719  0.139574  0.0248922005-07-02  0.002300  0.357893  0.011425  0.130605  0.028304
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python