rowList = temp_df.loc[0,:]
cols = ['X','Y','Z','distance','523','540','572','589','605','621','637','653','670',\
'686','703','719','751','768','784','800']
for k in range(len(rowList)):
if rowList[k] == 'X':
df.loc[:,'X'] = list(temp_df.loc[1:,k])
elif rowList[k] == 'Y':
df.loc[:,'Y'] = list(temp_df.loc[1:,k])
elif rowList[k] == 'Z':
df.loc[:,'Z'] = list(temp_df.loc[1:,k])
elif rowList[k] == 'distance':
df.loc[:,'distance'] = list(temp_df.loc[1:,k])
elif rowList[k] == '784':
Band780 = list(temp_df.loc[1:,k])
#Band780 = [float(num) for num in Band780]
elif rowList[k] == '703':
Band710 = list(temp_df.loc[1:,k])
Band710 = [float(num) for num in Band710]
else:
continue
CIRedEdge = np.array(Band780)/np.array(Band710) -1
报错
UnboundLocalError: local variable 'Band780' referenced before assignment
这是因为 rowList中没有找到 == ‘784’,查看rowList知道是数据类型的问题。
判断语句改为:
elif rowList[k] == 784:
xxx
elif rowList[k] == 703:
xxx
即可。