在 python 中发出多个 return 语句
Multiple return statements issue in python
我写了一个函数,它将训练数据帧和测试数据帧作为输入。
在这个函数中,我创建了三个变量 train、test 和 target
def rem_miss_vals(trainDF, testDF):
trainDF = trainDF[np.isfinite(trainDF)]
testDF = testDF[np.isfinite(testDF)]
train = trainDF.values
train = train[0::, 1:]
target = train[0::, 0]
test = testDF.values
return train, test, target
我想在下面的函数中使用训练、测试和目标
def get_variable_rankings(trainingset, targetset, testset):
logit = linear_model.LogisticRegression()
logreg = RFE(logit, 1)
logreg.fit(trainingset, targetset)
logitPredictions = logreg.predict(testset)
variablerankings = logreg.ranking_
variablerankings = variablerankings.tolist()
return variablerankings
实际代码:
当我在 main() 函数中调用这些函数时,我收到错误消息:train is not defined
rem_miss_vals(trainDF, testDF)
get_variable_rankings(train, target, test)
在 rem_miss_vals() 中,我清楚地归还了它们,但我不明白为什么我无法在 get_variable_rankings() 函数中使用训练、目标和测试
有人可以帮忙吗?
您必须将 return 值分配给一些变量,以便它们在范围内:
train, test, target = rem_miss_vals(trainDF, testDF)
variablerankings = get_variable_rankings(train, target, test)
或者,将它们直接拼写到下一个函数:
variablerankings = get_variable_rankings(*rem_miss_vals(trainDF, testDF))
我写了一个函数,它将训练数据帧和测试数据帧作为输入。
在这个函数中,我创建了三个变量 train、test 和 target
def rem_miss_vals(trainDF, testDF):
trainDF = trainDF[np.isfinite(trainDF)]
testDF = testDF[np.isfinite(testDF)]
train = trainDF.values
train = train[0::, 1:]
target = train[0::, 0]
test = testDF.values
return train, test, target
我想在下面的函数中使用训练、测试和目标
def get_variable_rankings(trainingset, targetset, testset):
logit = linear_model.LogisticRegression()
logreg = RFE(logit, 1)
logreg.fit(trainingset, targetset)
logitPredictions = logreg.predict(testset)
variablerankings = logreg.ranking_
variablerankings = variablerankings.tolist()
return variablerankings
实际代码:
当我在 main() 函数中调用这些函数时,我收到错误消息:train is not defined
rem_miss_vals(trainDF, testDF)
get_variable_rankings(train, target, test)
在 rem_miss_vals() 中,我清楚地归还了它们,但我不明白为什么我无法在 get_variable_rankings() 函数中使用训练、目标和测试
有人可以帮忙吗?
您必须将 return 值分配给一些变量,以便它们在范围内:
train, test, target = rem_miss_vals(trainDF, testDF)
variablerankings = get_variable_rankings(train, target, test)
或者,将它们直接拼写到下一个函数:
variablerankings = get_variable_rankings(*rem_miss_vals(trainDF, testDF))