如何将数组拆分为numpy,为什么我会收到此错误?
>>> import numpy as np
>>> d= np.array(range(10),np.float32)
>>> b, a = d[:3,:], d[3:,:]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: too many indices for array
>>>
答案 0 :(得分:1)
你的数组d
是一维的;但是,当您执行d[3:,:]
时,您指定了两个维度。因此错误:IndexError: too many indices for array
。
以下是为您提供所需结果的代码:
In [6]: b,a = d[:3], d[3:]
In [7]: b
Out[7]: array([ 0., 1., 2.], dtype=float32)
In [8]: a
Out[8]: array([ 3., 4., 5., 6., 7., 8., 9.], dtype=float32)
另一种选择是:
In [4]: b,a = tuple(np.split(d, [3]))