Как создать функцию, которая фильтрует по столбцу и значению столбца?

#python #dataframe #filter

Вопрос:

Фрейм данных выглядит следующим образом:

 index      company   body-style  wheel-base  length engine-type  
 0  alfa-romero  convertible        88.6   168.8        dohc   
 1  alfa-romero  convertible        88.6   168.8        dohc   
 2        audi        sedan        99.4   176.6         ohc   
 

Я пытался использовать что-то в этом роде, но обнаружил ошибку.

 def dosomething1(column,value):
    value_name=str(value)
    column_name=str(column)
    newdf=df[df[column_name]==value_name]

dosomething1(company, audi)

 

Ответ №1:

У вашей функции нет return оператора:

Это должно быть:

 def dosomething1(column,value):
    value_name=str(value)
    column_name=str(column)
    newdf=df[df[column_name]==value_name]
    return newdf
 

Когда вы вызываете свою функцию, строки должны быть в кавычках, например:

 dosomething1('company', 'audi')
 

Комментарии:

1. как создать приглашение, которое позволяет пользователю ввести столбец и значение, а затем выполнить цикл с помощью описанной выше функции для получения выходных данных? Я попытался вставить столбец=ввод(«Введите имя столбца, например, компания») значение=ввод(«Введите значение столбца, например, dodge») перед функцией, но, похоже, она не принимает ввод, введенный в нее