我有一个多索引数据框,名为df,我想删除所有带符号的行(多级索引的第二级)='tb_91day_tri'和权重(列)= 0.我知道删除行很容易按索引和按行值排列,但我无法弄清楚如何将两者结合起来。
weight
asofdate symbol
2015-11-02 universe_tri 0.000000
tb_91day_tri 0.053984
tri_us78463x749 0.051751
tri_ca46431a109 0.018860
tri_ca46430l106 0.067672
tri_ca46430j101 0.197639
tri_ca46428l100 0.151681
tri_ca46428j105 0.108409
tse_300_bl_tri 0.000000
tb_91day_tri 0.000000
sp_500_tri 0.000000
df.drop(df.xs('tb_91day_tri',level=1)[df.xs('tb_91day_tri',level=1)['weight']==0]) #doesn't work
答案 0 :(得分:1)
你可以:
selection = df[df.weight!=0].drop('tb_91day_tri', level=1)