這種失敗:爲什麼「assert 211 == 211」失敗?
train_data = pd.concat([train_cancelled, train_not_cancelled]).as_matrix()
mat_col_size = int((num_days * 3) + 1)
assert isinstance(mat_col_size, int), "mat_col_size is not an int"
assert isinstance(train_data.shape[1], int), "train_data.shape[1] is not an int"
assert train_data.shape[1] == mat_col_size, \
"Number of columns in train data must be 'num_fetaures + 1 = {0:d}' (label) but is '{0:1}'." \
.format(mat_col_size, train_data.shape[1])
它會打印:
AssertionError: Number of columns in train data must be 'num_fetaures + 1 = 211' (label) but is '211'.
我的問題是:不同的東西有多少可以去錯了,導致此操作失敗,因爲我根本就沒有找到問題或爲什麼我的代碼不會使第三個assert
!
你能發表一個訓練數據的例子嗎?也許所有的colums,但至少只有幾行 – shadowtalker
,你能告訴我們'type(train_data.shape [1])'的輸出嗎?它可能有類型'numpy.int64'而不是'int' – shadowtalker
它的價值,我不能用'assert pd.DataFrame([[1,2,3],[4,5,6]])重現.as_matrix()。shape [1] == 3' – shadowtalker