【发布时间】:2018-02-11 06:12:49
【问题描述】:
我在 python 中运行这段代码。我想从 for 循环内部调用 recursive_split 函数。但是python显示出意外的缩进错误。我哪里错了?
res = {}
def recursive_split(X,y,recursive_count) :
recursive_count = recursive_count+1
if(recursive_count>depth):
return res
selected_attr = select_attribute(X,y)
sets = partition(X.iloc[:,selected_attr])
for key, value in sets.items() :
print(str(key) + " " + str(value))
y_subset = y.take(value, axis=0)
X_subset = X.take(value, axis=0)
res["x_%d = %d" % (selected_attr, key)] =
recursive_split(X_subset, y_subset,recursive_count)
return res
recursive_count = 0
dict_tree = recursive_split(X_train,y_train,recursive_count)
我得到的错误信息是:
File "test.py", line 116
res["x_%d = %d" % (selected_attr, key)]=recursive_split(X_subset,
y_subset,recursive_count)
^
IndentationError: unexpected indent
【问题讨论】:
-
请提供完整的错误回溯。我们至少需要知道哪一行包含错误。
-
当您使用它时,请确保您的编辑器没有在某处混用制表符和空格。
-
尝试用空格替换所有制表符,反之亦然。
-
已解决。实际上 X_subset 行有 8 个空格而不是 2 个制表符。当我选择整个代码时才知道这一点。感谢您的帮助
标签: python python-3.x function recursion machine-learning