所以我对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]
我知道解决方案必须非常简单,但我似乎无法弄清楚
提前致谢!
答案 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