我怎么能分割numpy数组

时间:2015-02-15 03:15:08

标签: python numpy

如何将数组拆分为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
>>> 

1 个答案:

答案 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]))