[PYTHON] Numpy에서 어떻게 2-D 배열을 압축 할 수 있을까요?
PYTHONNumpy에서 어떻게 2-D 배열을 압축 할 수 있을까요?
예를 들어 2 배열이 있습니다.
a = array([[0, 1, 2, 3],
[4, 5, 6, 7]])
b = array([[0, 1, 2, 3],
[4, 5, 6, 7]])
어떻게하면 우편 번호를 얻을 수 있습니까?
c = array([[(0,0), (1,1), (2,2), (3,3)],
[(4,4), (5,5), (6,6), (7,7)]])
?
해결법
-
==============================
1.dstack을 사용할 수 있습니다.
dstack을 사용할 수 있습니다.
>>> np.dstack((a,b)) array([[[0, 0], [1, 1], [2, 2], [3, 3]], [[4, 4], [5, 5], [6, 6], [7, 7]]])
튜플을 가져야하는 경우 :
>>> np.array(zip(a.ravel(),b.ravel()), dtype=('i4,i4')).reshape(a.shape) array([[(0, 0), (1, 1), (2, 2), (3, 3)], [(4, 4), (5, 5), (6, 6), (7, 7)]], dtype=[('f0', '<i4'), ('f1', '<i4')])
Python 3 이상에서는 zip iterator 객체를 확장해야합니다. 이것은 매우 비효율적입니다.
>>> np.array(list(zip(a.ravel(),b.ravel())), dtype=('i4,i4')).reshape(a.shape) array([[(0, 0), (1, 1), (2, 2), (3, 3)], [(4, 4), (5, 5), (6, 6), (7, 7)]], dtype=[('f0', '<i4'), ('f1', '<i4')])
-
==============================
2.
np.array([zip(x,y) for x,y in zip(a,b)])
from https://stackoverflow.com/questions/17960441/in-numpy-how-to-zip-two-2-d-arrays by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 'int'유형의 목록에있는 모든 항목을 테스트하는 방법은 무엇입니까? (0) | 2018.11.16 |
---|---|
[PYTHON] 전체 페이지를 다운로드하지 않고 웹 페이지가 있는지 확인하는 Python 스크립트? (0) | 2018.11.16 |
[PYTHON] 문자열에서 QpushButton을 누르면 QlineEdit에서 텍스트를 가져 오는 방법은 무엇입니까? (0) | 2018.11.15 |
[PYTHON] webdriver를 통해 javascript 팝업을 클릭하십시오. (0) | 2018.11.15 |
[PYTHON] 윈도우 7 virtualenv 반환 AssertionError (0) | 2018.11.15 |