Имя импортируемого модуля не определено в пользовательской функции python - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь уменьшить размер фрагмента кода, где я повторяю некоторые вещи снова и снова. Для этого я встроил несколько строк в функцию, которые ранее работали в модуле, который я назвал сезонным_аджустментом_процедуры.py

def seasonal_adjustment(data, subset):
    seasonal_object = {}
    for col in subset: 
        seasonal_object[f'{col}sa'] = sm.tsa.x13_arima_analysis(
            endog = data[col].dropna(), x12path = path_to_x13, 
            prefer_x13 = True)
    return seasonal_object

, и вызываю эту функцию как

from seasonal_adjustment_procedures import seasonal_adjustment
x = {}
x = seasonal_adjustment(mexico_temp, mexico_temp.columns)

Когда Я запускаю это в лаборатории jupyter. Я получаю это сообщение об ошибке:

имя 'sm' не определено

Я также пытался импортировать статистические модели из моей модели, но получаю то же сообщение об ошибке.

Спасибо!

1 Ответ

0 голосов
/ 11 марта 2020

В строке seasonal_object[f'{col}sa'] = sm.tsa.x13_arima_analysis используется sm, но вы нигде не определили, что такое sm. Я предполагаю, что вы взяли этот код откуда-то еще ?? Вы упомянули, что пытались импортировать statsmodels, но, вероятно, изначально было сделано

import statsmodels as sm

. Это определит sm и должно работать

.
...