【问题标题】:Filtering in a multi index pandas data frame在多索引熊猫数据框中过滤
【发布时间】:2021-08-01 16:29:23
【问题描述】:

我有下表,其中包含两个索引 NSRCODE 和 PBL_AWI。

NSRCODE  PBL_AWI          Area           
CM                        56454567489672
         BONS             44705.492941
         BTNN            253854.591990
         FONG             41625.590370
         FONS             16814.159680
         Lake             57124.819333
         River             1603.906642
         SONS            583958.444751
         STNN             45603.837177
         clearcut        106139.013930
         disturbed       127719.865675
         lowland         118795.578059
         upland         2701289.270193
LBH                      97657564123186
         BFNN            289207.169650
         BONS           9140084.716743
         BTNI             33713.160390
         BTNN          19748004.789040
         FONG           1687122.469691
         FONS           5169959.591270
         FTNI            317251.976160
         FTNN           6536472.869395
         Lake            258046.508310
         River            44262.807900
         SONS           4379097.677405
         burn regen      744773.210860
         clearcut         54066.756790
         disturbed       597561.471686
         lowland       12591619.141842
         upland        23843453.638117

我想知道,如何过滤每个 NSRCODE(其中 PBL_AWI 为空)的第一个条目,以便我留下表格的其余部分?

【问题讨论】:

    标签: pandas dataframe multi-index


    【解决方案1】:

    Index.get_level_valuesIndex.duplicated 一起使用:

    m = df.index.get_level_values('NSRCODE').duplicated()
    
    df1 = df[m]
    

    【讨论】:

    • df.xs('', level=1) 完成了这项工作,但也完全删除了“NSRCODE”列,我想避免这种情况。有什么想法吗?
    • @youneedtoread1 - 使用df.xs('', level=1, drop_level=False)
    • 这样我可以保留 NSRCODE 但 PBL_AWI 完全退出
    • @youneedtoread1 - 嗯,有空值,所以似乎不存在。也许我的问题是不明白需要什么。预期输出如何?
    • 所以你在 NSRCODE 下的原始评论中看到它说 CM,它适用于所有实例,直到 LBH 出现。我想保留那个CM。在 jupyter notebook 中很容易看到 python 将所有条目分组到 CM,但删除第一行似乎完全删除了 PBL_AWI 下的所有条目,只剩下 CM 和值
    猜你喜欢
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 2015-06-13
    相关资源
    最近更新 更多