Учитывая комментарии к другому ответу, есть другой способ.
Создайте словарь, в котором ключ - это имя, а объект - это значение (может быть автоматизировано с использованием inspect
по ссылке). И затем соответствие, когда value == test_value
.
Очевидный выбор - просто передать ключ вашей функции и заставить функцию вызвать словарь:
mydict = {"acc_x_g": acc_x_g}
def get_avg_spectrum(full_signal, fs, skip_samples = 0,...):
df = mydict[full_signal]
...
return(output)
result = get_avg_spectrum(full_signal = "acc_x_g", fs = 5000, skip_samples = 0,...)
Но, в зависимости от вашего кода, вам может потребоваться циклически перемещаться по спектрам в определенном порядке, который был ранее / автоматически определен. Если это так (если порядок имеет значение), и вы не можете сгенерировать список этого заказа, я оставляю следующее решение. Но осторожно! Предполагается, что все ваши pd.Series
уникальны 1012 *!
mydict = {"acc_x_g": acc_x_g}
def get_avg_spectrum(full_signal, fs, skip_samples = 0,...):
name = ""
for k,v in mydict.items():
if v.all() == full_signal.all():
name = k
...
return(output)
result = get_avg_spectrum(full_signal = acc_x_g, fs = 5000, skip_samples = 0,...)