Why do I get "NameError: name 'df' is not defined"?

Why do I get "NameError: name 'df' is not defined"?

我不知道为什么 "df" 没有定义,因为我已经为 df 分配了一个值。我在网上阅读了一些关于此事的问答,但 none 似乎帮助我解决了我的问题。如果我删除使用 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 文件并过滤其中的数据而创建的新文件。

如有任何帮助,我们将不胜感激!

你必须让 func_nb() return df 并确保调用函数 func_nb()

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()

之后您可以使用您的数据框,因为它现在存在于您的函数之外。