Наивным ответом на ваш вопрос будет использование operator.attrgetter
, которое возвращает функцию, которую вы можете применить к df
:
from operator import attrgetter
def extract_rows(df, column_name, value):
return df[attrgetter(column_name)(df) == value]
Однако, в целом, я бы предпочел использовать синтаксис скобок для pandas
, так как это делает все, что может делать точечная запись, и многое другое. Соответственно, это будет работать:
def extract_rows(df, column_name, value):
return df[df[column_name] == value]