2015-12-07 5 views
1

У меня есть фрейм данных с несколькими индексами, называемый df, и я хочу удалить все строки с символом (2-й уровень мультииндекса) = 'tb_91day_tri' и weight (column) = 0. Я знаю, что легко удалить строки по индексам и строкам по значению столбца, но я не могу понять, как их объединить.Pandas dataframe удаляет строки на основе индекса и значения столбца

           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 

ответ

1

Вы могли:

selection = df[df.weight!=0].drop('tb_91day_tri', level=1) 
Смежные вопросы