Удалить столбец df

Как удалить столбцы, по условию: удалить столбец, если в последней строке есть цифра 3.

df= pd.DataFrame({'one'  :[0,0,55,3],
                  'two'  :[0,1,0,0],
                  'three':[0,0,0,3],
                  'four' :[2,0,2,0]})

введите сюда описание изображения

На выходе:

введите сюда описание изображения


Ответы (2 шт):

Автор решения: CrazyElf
df = df.loc[:, df.iloc[-1] != 3]
               ^^^^^^^^^^^^^^^^ маска на столбцы

Действуем от противного, то есть оставляем в датафрейме столбцы, в которых последний элемент не равен 3.

Но в принципе можно и удалить, просто будет чуть длиннее (а может я просто не знаю короткого способа):

df = df.drop(columns=df.columns[df.iloc[-1] == 3])
→ Ссылка
Автор решения: SergFSM

можно еще отфильтровать:

df.filter(df.columns[df.iloc[-1]!=3])
→ Ссылка