我的代码是:
def load_data(datafile, categories=None, cat_columns=None):
ohe_categories = 'auto'
if categories and len(categories) > 0:
ohe_categories = categories
ohe = OneHotEncoder(handle_unknown='ignore', categories=ohe_categories)
当
categories
是 None
时,它能正常工作。但如果我传递了一些内容,就会出现错误: "最初的回答"ValueError: The truth value of a Index is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我正在使用以下方式调用该函数:
training_x, training_y, categories, cat_columns = loader.load_data(
'data/training.csv')
test_x, test_y = loader.load_data(
'data/test.csv', categories=categories, cat_columns=cat_columns)
如何进行正确的检查?最初的回答。
Index
- ShamoonIndex
对象,它的行为与你对于if categories...
的期望不一致。尝试使用if categories != None and ...
来解决这个问题。 - Error - Syntactical Remorse