Было бы замечательно, если бы вы опубликовали, как выглядит кадр данных в пандах, а не как изображение файла Excel.Однако, построив фиктивный df
df = pd.DataFrame({'index1':['a','b','c'],'index2':['b','g','f'],'index3':['w','q','z']
,'Col1':[0,1,0],'Col2':[1,1,0],'Col3':[1,1,1],'Col4':[2,2,0]})
Step1, присвоение индекса может быть выполнено с использованием метода .set_index (), как указано ниже
df.set_index(['index1','index2','index3'],inplace=True)
вместоделая все вручную, когда дело доходит до фильтрации, вы можете использовать возврат, полученный из df_bool.sum(axis=1)
при фильтрации кадра данных, как указано ниже
df.loc[(df==0).sum(axis=1) / (df.shape[1])>0.6]
index1 index2 index3 Col1 Col2 Col3 Col4
c f z 0 0 1 0
, и, используя это, вы можете отбросить эти строки, предполагая 20% тогда вы бы использовали
df = df.loc[(df==0).sum(axis=1) / (df.shape[1])<0.2]
Когда дело доходит до вопроса с заголовком, ответить на него немного сложно, не видя, как выглядит файл или фрейм данных