2016-10-16 6 views
3

는 내가 지금 할 시도하고있다 :Numpy Array의 크기를 확장하기위한 좀 더 Pythonic/우아한 방법이 있습니까?

x = x[:, None, None, None, None, None, None, None, None, None] 

는 기본적으로, 9 개 차원으로 내 NumPy와 배열을 확장합니다. 또는 N이 사전에 알려지지 않을 수도있는 N 개의 치수!

더 좋은 방법이 있나요? 우리는 그 희미을 따라 길이 1의 형태를 사용하고 기본적으로 치수를 싱글 톤에 해당하는 None's에 대한 그래서

x.reshape((-1,) + (1,)*N) # N is no. of dims to be appended 

,

- reshaping

답변

1

하나의 대안 접근 방식이 될 수 있습니다. 첫 번째 축에 대해서는 -1에서 까지의 모양을 사용하여 모든 요소을 밀어 넣습니다.

샘플 실행 -

In [119]: x = np.array([2,5,6,4]) 

In [120]: x.reshape((-1,) + (1,)*9).shape 
Out[120]: (4, 1, 1, 1, 1, 1, 1, 1, 1, 1) 
관련 문제