python - Python中的NameError与函数的返回变量
问题描述
FindACar 功能实际上很好用。它做我想要的。但是只有一个问题,这种问题不会经常发生,但有时会发生。我得到的错误是:“NameError:未定义名称随机选择”。我不明白为什么。我试图将 randomchoice 作为全局变量,但没有成功。
我的代码中的这个“随机选择”有什么问题?
Car_Auswahl = FindACar(bins,Price_List,Car_for_select)
def FindACar(bins,Price_List,Car_for_select):
# global randomchoice
choice_idx = [] #Initialisierung der Auswahl des Autos
shape,scale = 4.2531, 7896.8
coeff = 1.1299564124727026 # = Car['Preis'].mean()/((ReadPreisList['avg']*ReadPreisList['Anzahl']).sum()/ReadPreisList['Anzahl'].sum())
sample = np.random.gamma(shape, scale)*coeff
while sample < min(Price_List) :
sample = np.random.gamma(shape, scale)*coeff
bin_idx = np.digitize(sample,bins)
if 0 < bin_idx < len(bins):
for index, row in Car_for_select.iterrows():
if bins[bin_idx-1] < row.Preis <= bins[bin_idx]:
choice_idx.append(index)
else:
pass
if len(choice_idx) != 0:
randomchoice = np.random.choice(choice_idx)
else:
target = min(Price_List, key=lambda x:abs(x-sample))
randomchoice = Price_List.index(target)
return randomchoice
解决方案
推荐阅读
- reactjs - 使 MUI 对话框内容大小跟随内容的大小
- python - 在 python 脚本中完成另一项任务后开始一项任务
- django - 如何将我的简单自定义 django 模板标签与 if 语句一起使用?
- swift - 在两个视图控制器之间传递一个巨大的二维数组
- azure-devops - 使用 Azure DevOps App Service Deploy 任务部署自包含的 .NET Core 应用程序
- elasticsearch - 如何根据折叠项目的数量对弹性搜索结果进行排序?
- identityserver4 - IdentityServer4 中的帐户管理
- vue.js - 在 Vue 中启用(控制台)记录路由器事件
- php - 没有 VPN,Wordpress 无法打开
- mysql - MySQL选择多个值并添加到一列