2
- Numpy에서 (행, 열, 값) 트리플의 배열을 행렬로 변환하는 가장 쉬운 방법은 무엇입니까?
- 임의의 수의 색인이 있다면 어떨까요?
- 또한 행렬을 (행, 열, 값) 세 쌍으로 다시 변환하는 가장 쉬운 방법은 무엇입니까?
3에 대한 다음 작동하지만NumPy에서 (행, 열, 값) 세 쌍의 행렬 만들기
In [1]: M = np.arange(9).reshape((3,3))
In [2]: M
Out[2]:
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
In [3]: (rows, cols) = np.where(M)
In [4]: vals = M[rows, cols]
In [5]: zip(rows, cols, vals)
Out[5]:
[(0, 1, 1),
(0, 2, 2),
(1, 0, 3),
(1, 1, 4),
(1, 2, 5),
(2, 0, 6),
(2, 1, 7),
(2, 2, 8)]
매우 로터리 느낌 그리고 1의 다음 작품은하지만, 그냥 같은 scipy.sparse
In [6]: import scipy.sparse as sp
In [7]: sp.coo_matrix((vals, (rows, cols))).todense()
Out[7]:
matrix([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
내 생각 엔 empty''zeros' 코드를 작동하게하는 그런 식으로'0으로 변경해야 누락 된 위치의 값입니다. –