#python #pandas
#python #pandas
Вопрос:
Я пытаюсь отфильтровать только столбцы с истинными значениями из этого набора данных:
Name Surname Age New_Joiner
Greta G. 56 False
Tim H. 24 True
Rita F. 46 False
Sara S. 34 True
...
Мой ожидаемый результат был бы
Name Surname Age New_Joiner
Tim H. 24 True
Sara S. 34 True
...
Я попытался добавить это условие выбора в очень маленькую функцию (вероятно, это не имеет большого смысла):
def filt(file):
file[['New_Joiner']]
return file
Но когда я вызываю это
sel=filt(df)
Я получил не только истинные значения, но и False.
Я проверил тип столбца New_Joiner с помощью dtype, и он является логическим.
Комментарии:
1. Как насчет
df[df[‘New_Joiner’]]
. (Просто навскидку; не тестировал.2. Огромное спасибо всем вам
Ответ №1:
Измените свою функцию на
def filt(file):
file = file[file['New_Joiner']]
return file
Комментарии:
1. Большое спасибо за вашу помощь
Ответ №2:
Вам не нужно выполнять два шага, просто
sel = file[file['New_Joiner']]
Ответ №3:
Расширяю свой комментарий теперь, когда я протестировал. Вы можете пропустить все функции вместе и использовать:
df[df['New_Joiner']]
Это вернет только True
значения, поскольку это логическая маска.