在:
a[0:6,10:]
0:6选择行,10:选择列。如果a
不是2d或足够大,将导致错误。
在
np.concatenate(a[0:6],a[10:])
问题是参数的数量;它需要一个数组列表。第二个,如果给出被理解为axis
,应该是一个整数(因此你的错误)。
np.concatenate([a[0:6],a[10:]])
应该工作。
另一种选择是使用索引列表
a[0,1,2,3,4,5,10,11,...]]
np.r_
是构建这样一个列表方便的小工具:
In [73]: np.r_[0:6, 10:15]
Out[73]: array([ 0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14])
它的效果确实np.concatenate([np.arange(0,6),np.arange(10,15)])
。
无论您是先索引还是连接,或先连接索引再连接索引,都无关紧要。效率大致相同。 np.delete
根据“删除”区域的大小和类型在几种方法中进行选择,包括这些方法。
在trainX
表达式中,将[]添加到连接调用应该起作用。但是,predictorX[4*Fold_5]
可能会成为问题。你是否错过:
(如10:示例)?如果您只需要一个值,则需要将其转换为1d,例如predictorX[[4*Fold_5]]
Fold_5 = len(predictorX)//5 # integer division in py3
trainX = np.concatenate([predictorX[:3*Fold_5], predictorX[4*Fold_5:]])