Почему я получаю "NameError: имя 'df' не определено"? - PullRequest
0 голосов
/ 25 сентября 2019

Я не знаю, почему "df" не определено, потому что я уже присвоил df значение.Я прочитал некоторые вопросы и ответы в Интернете по этому вопросу, но ни один из них не помог мне решить мою проблему.Если я удаляю код для использования CUDA, он работает отлично, но проект, над которым я работаю, требует от меня использования CUDA.

@nb.jit(nopython=True)
def func_nb():
    data = pd.read_csv('dummycsv.csv')
    df = DataFrame(data)
    df['Tag'] = df['Tag'].map(lambda x: re.sub(r'\W+', '_', x))
tempdata = pd.DataFrame(columns=['Time','Value'])

taglist = pd.read_excel('dummyexcel.xlsx')
dt = DataFrame(taglist, columns=['Tag'])
dt['Tag'] = dt['Tag'].map(lambda x: re.sub(r'\W+', '_', x))


for i,row in dt.iterrows(): 

   tempdata = tempdata[0:0]      
   for index,row in df.iterrows():

       tag = dt.iloc[i]['Tag'] 
       x = df.iloc[index]['Tag']
       val = df.iloc[index]

Ожидаемые результаты - новые файлы, созданные в результате чтения обоих Excelи CSV-файл и фильтрации данных в них.

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

2 голосов
/ 25 сентября 2019
def func_nb():
   data = pd.read_csv('dummycsv.csv')
   df = DataFrame(data)
   df['Tag'] = df['Tag'].map(lambda x: re.sub(r'\W+', '_', x))
   return df

df = func_nb()

После этого вы можете использовать свой фрейм данных, потому что теперь он существует вне вашей функции.

1 голос
/ 25 сентября 2019

Вам нужно дать func_nb() вернуть df и обязательно вызвать функцию func_nb()

...