실행중인 프로그램의 중간에 숫자가 적은 행렬이 있습니다 (이름이 rdy
이라고 가정 해 봅시다). 나는 이것을 1 차원 행렬로 재구성하여 2 차원 행렬을 얻는 것을 발견했습니다. 그러나 대화 형 셸에서 같은 것을 시도하면 예상되는 결과를 얻게됩니다. 다음 ipython 로그와 같습니다. 나는 매트릭스 재구성의 어떤면이 변형 될 때 다르게 행동하게 할까? np.matrix
의 키 정의 속성Numpy reshape는 예기치 않게 작동합니다.
# This is expected:
In [191]: np.random.rand(512, 1).reshape(-1).shape
Out[191]: (512,)
# This is unexpected:
In [192]: rdy.reshape(-1).shape
Out[192]: (1, 512)
# The following are the different aspects of the rdy matrix:
In [193]: rdy.shape
Out[193]: (512, 1)
In [194]: rdy.flags
Out[194]:
C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : False
WRITEABLE : True
ALIGNED : True
UPDATEIFCOPY : False
In [195]: rdy.data
Out[195]: <read-write buffer for 0xeae6488, size 4096, offset 0 at 0x2ff95e70>
고마워요, 네, 맞습니다. rdy는 드문 드문 한 행렬에서 발생합니다. 나는 그것이 ndarray와는 다른 유형을 제공한다는 것을 몰랐다. – shaoyl85
'asparse.A' 또는'asparse.toarray()'를 사용하여 스파 스에서 배열을 생성하십시오. – hpaulj