#python #python-3.x #pandas #function #numpy
#python #python-3.x #pandas #функция #numpy
Вопрос:
Пытаюсь получить доступ к функции pd.query
Получение ошибки
Ошибка UndefinedVariableError: имя ‘ОБРАТНАЯ ПРИВЯЗКА_СТРОКА__В_КАВЫЧКАХ__По_ключу’ не определено
для приведенного ниже кода Pandas на Python. Что я сделал не так?
def ft_equal(df,key,value):
# print(key)
# print(value)
# return df[df[key] == value]
# print(key)
# print(df[key])
# return df.query('@key == "%s"' %value)
return df.query('`@key` == @value')
pd.DataFrame.ft_equal = ft_equal
df.ft_equal("Current State","Disburse")
Ответ №1:
Попробуйте это :
def ft_equal(df,key,value):
my_query = key " == " value
return df.query(my_query)
или
def ft_equal(df,key,value):
return df.query(f"{key} == {value}")
Комментарии:
1. потрясающая попытка решения
Ответ №2:
вероятно, вам действительно нужно заменить в значениях key
и value
… вы можете сделать это с f
строкой в python3
(f'`@{key}` == @{value}')
в более старых версиях python вам нужно было бы сделать
'`@{key}` == @{value}'.format(key=key,value=value)
Комментарии:
1. Ошибка по-прежнему сохраняется