Я работаю с наукой о данных, и у меня есть довольно большой скрипт, состоящий из множества вспомогательных функций для выполнения анализа на pandas фреймах данных, а затем одна основная функция, которая использует мои функции для получения некоторых результатов.
Проблема в том, что большинство или входные данные функций являются просто именами столбцов в кадре данных (потому что они принимаются как ввод от пользователей), и это приводит к тому, что многие функции имеют частично одинаковый ввод.
Что меня интересует, так это возможно ли иметь dict, содержащий все мои параметры, и просто передавать dict каждой функции без изменения dict? То есть каждая функция должна была бы игнорировать ключевые слова в dict, которые не являются входными данными для этой конкретной функции.
Чтобы привести пример, скажем, у меня есть эта функция.
def func1(a, b, c):
return a + b * c
И у меня есть этот диктат, содержащий входные данные для всех моих функций.
input_dict = {'a': 1,
'b': 2,
'c': 3,
'd': 4}
Если я вызову эту функцию с этим диктом в качестве ввода, например:
value = func1(**input_dict)
Я получу ошибку из-за неожиданного аргумента d.
Есть ли обходной путь здесь, который не включает изменение диктата? Мой код работает, но я бы хотел избежать повсеместного повторения входных аргументов.
Заранее спасибо :)