В Matlab есть функция symvar, которая принимает строковое выражение, обычно содержащее правильные инструкции matlab, и идентифицирует переменные. Затем они могут быть обработаны / заменены для оценки выражения.
Например:
symvar('cos(pi*x - beta1)')
возвращает
{'beta1';'x'}
Есть ли подобная функциональность в Python?
Вот пример того, как я мог бы использовать это:
скажем, у меня есть DataFrame DF (в данном случае я имею в виду модуль pandas, но я полагаю, что это также относится и к numpy recordarray), содержащий набор переменных, например, A, B, C. Я хочу, чтобы мой пользователь мог добавить дополнительный столбец, указав что-то вроде
add_field (DF, "D = журнал (А) + С * 3")
Внутренне, функция распознает A, C и D как переменные, извлечет A и D из кадра данных, выполнит вычисление (используя eval или подобное), а затем добавит D в качестве нового столбца в кадр данных.
Спасибо