我不知道为什么未定义“ 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文件并过滤其中的数据而创建的新文件。
任何帮助将不胜感激!
答案 0 :(得分:2)
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 :(得分:1)
您将不得不让func_nb()
返回df并确保调用函数func_nb()