0
목록 목록을 5 개로 변환하려는 numpy.ndarray (5,6) (총 크기 (5,6,5)) 목록이 있습니다. 각 목록에는 각 행의 각 numpy.ndarray 정보가 들어 있어야합니다.numpy ndarray 목록을 여러 목록으로 변환
이 작업을 수행하는 한 가지 방법은 수동으로 수행하는 것이지만 큰 numpy.ndarrays, 시간이 많이 걸리는 경우 문제가 될 수 있으므로 어떻게 효과적으로 수행 할 수 있습니까?
예 :
>>> import numpy
>>> a = numpy.zeros((6,5))
>>> b = numpy.ones((6,5))
>>> c = numpy.ones((6,5))*2
>>> d = [a,b,c]
>>> print d
[array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.]]), array([[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.]]), array([[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.]])]
>>> e = list(d)
>>> print e
[array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.]]), array([[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.]]), array([[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.],
[ 2., 2., 2., 2., 2.]])]
# not wanted
>>> print e[0].tolist()
[[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]]
#wanted
>>> [[0.0, 0.0, 0.0, 0.0, 0.0], [1,1,1,1,1], [2, 2, 2, 2, 2], ]
'.tolist()'를 사용해 보셨습니까? – DyZ
은 전체 ndarray를 배열로 변환합니다. 각 ndarray에 대한 행 목록이 필요합니다. 기본적으로 목록의 목록과 같은 것입니다. 바깥 쪽 (5) 중간 (6) 마지막 (5) –
'arr'이 (5,6,5) 모양 인 경우'list (arr)' 5 (6,5) 배열 목록을 제공해야합니다. 'tolist()'는 그것을리스트의 모든리스트로 변환한다 -리스트의리스트. 가장 낮은 레벨의 배열에는 어떤 모양이 있어야합니까? – hpaulj