Я пытаюсь отфильтровать DataFrame на основе одного или нескольких значений. Ниже приведен пример CSV:Фильтрация фрейма данных с несколькими индексами на основе значений столбцов, удаляющих все строки внутри уровня
AlignmentId,TranscriptId,classifier,value
ENSMUST00000025010-1,ENSMUST00000025010,AlnCoverage,0.99612
ENSMUST00000025010-1,ENSMUST00000025010,AlnIdentity,0.93553
ENSMUST00000025010-1,ENSMUST00000025010,Badness,0.06749
ENSMUST00000025014-1,ENSMUST00000025014,AlnCoverage,1.0
ENSMUST00000025014-1,ENSMUST00000025014,AlnIdentity,0.96382
ENSMUST00000025014-1,ENSMUST00000025014,Badness,0.03618
И когда загружен:
>>> df = pd.read_csv('tmp.csv', index_col=['AlignmentId', 'TranscriptId'])
>>> df
classifier value
AlignmentId TranscriptId
ENSMUST00000025010-1 ENSMUST00000025010 AlnCoverage 0.99612
ENSMUST00000025010 AlnIdentity 0.93553
ENSMUST00000025010 Badness 0.06749
ENSMUST00000025014-1 ENSMUST00000025014 AlnCoverage 1.00000
ENSMUST00000025014 AlnIdentity 0.96382
ENSMUST00000025014 Badness 0.03618
Я хочу бросить все AlignmentId
группу, провалить серию classifiers
. В этом примере скажем, что я хочу сбросить ENSMUST00000025010
, потому что AlnCoverage < 1.0
. Таким образом, я хочу, чтобы в конечном итоге с этим dataframe:
ENSMUST00000025014-1 ENSMUST00000025014 AlnCoverage 1.00000
ENSMUST00000025014 AlnIdentity 0.96382
ENSMUST00000025014 Badness 0.03618
Как это сделать?