반응형
type(A)
<class 'scipy.sparse.csc.csc_matrix'>
A.shape
(8529, 60877)
print A[0,:]
(0, 25) 1.0
(0, 7422) 1.0
(0, 26062) 1.0
(0, 31804) 1.0
(0, 41602) 1.0
(0, 43791) 1.0
print A[1,:]
(0, 7044) 1.0
(0, 31418) 1.0
(0, 42341) 1.0
(0, 47125) 1.0
(0, 54376) 1.0
print A[:,0]
#nothing returned
이제 내가 이해하지 못하는 것은 A [1, :]
가 두 번째 행에서 요소를 선택해야하지만 print A [1, :] <를 통해 첫 번째 행에서 요소를 가져옵니다. / code>. 또한
print A [:, 0]
는 첫 번째 열을 반환해야하지만 아무것도 인쇄되지 않습니다. 왜?
해결 방법
A [1, :]
자체는 모양 (1, 60877)의 희소 행렬입니다. 이 는 인쇄중인 항목이며 행이 하나뿐이므로 모든 행 좌표가 0입니다.
예를 들면 :
In [41]: a = csc_matrix([[1, 0, 0, 0], [0, 0, 10, 11], [0, 0, 0, 99]])
In [42]: a.todense()
Out[42]:
matrix([[ 1, 0, 0, 0],
[ 0, 0, 10, 11],
[ 0, 0, 0, 99]], dtype=int64)
In [43]: print(a[1, :])
(0, 2) 10
(0, 3) 11
In [44]: print(a)
(0, 0) 1
(1, 2) 10
(1, 3) 11
(2, 3) 99
In [45]: print(a[1, :].toarray())
[[ 0 0 10 11]]
열을 선택할 수 있지만 열에 0이 아닌 요소가 없으면 print
로 출력 될 때 아무것도 표시되지 않습니다.
In [46]: a[:, 3].toarray()
Out[46]:
array([[ 0],
[11],
[99]])
In [47]: print(a[:,3])
(1, 0) 11
(2, 0) 99
In [48]: a[:, 1].toarray()
Out[48]:
array([[0],
[0],
[0]])
In [49]: print(a[:, 1])
In [50]:
마지막 print
호출은 a [:, 1]
열에 0이 아닌 요소가 없기 때문에 출력이 표시되지 않습니다.
참조 페이지 https://stackoverflow.com/questions/15115765
반응형
'파이썬' 카테고리의 다른 글
파이썬 트레이스 백으로 예외 로그 (0) | 2021.01.25 |
---|---|
파이썬 매일 같은 시간에 작업을 수행하는 Python 스크립트 (0) | 2021.01.25 |
파이썬 How to calculate number of days between two given dates? (0) | 2021.01.24 |
파이썬 Django : DB에서 개체 가져 오기 또는 일치하는 항목이 없으면 'None' (0) | 2021.01.24 |
파이썬 How to print a list more nicely? (0) | 2021.01.24 |
댓글