如何拆分我的numpy数组

时间:2017-03-01 02:04:35

标签: python arrays numpy multidimensional-array

所以我对numpy很新,而且我正在尝试一个项目,但遇到了一个我似乎无法解决的错误。

想象一下,我们有一个以下格式的NDarray

[4,5,6,1]
[3,5,2,0]
[4,7,3,1]

我如何将其分成两部分,第一部分是:

[4,5,6]
[3,5,2]
[4,7,3]

,第二部分是

[1,0,1]

我知道解决方案必须非常简单,但我似乎无法弄清楚

提前致谢!

2 个答案:

答案 0 :(得分:3)

尝试:

a = np.array([[4,5,6,1],
              [3,5,2,0],
              [4,7,3,1]])

b,c = a[:,:-1], a[:,-1]

这使用numpy的切片来保留所有行并将列拆分到最后一行。

答案 1 :(得分:1)

>>> import numpy as np
>>> a=np.array([[4,5,6,1],[3,5,2,0],[4,7,3,1]])
>>> a
array([[4, 5, 6, 1],
       [3, 5, 2, 0],
       [4, 7, 3, 1]])
>>> b=a[:,0:3]
>>> b
array([[4, 5, 6],
       [3, 5, 2],
       [4, 7, 3]])
>>> c=a[:,3]
>>> c
array([1, 0, 1])
>>>

这是python中名为array slice 的东西,对于numpy并不是太多。

有关数组切片的更多详细信息,请参阅Explain Python's slice notation