반응형
2D float numpy array를 2D int numpy array로 변환하는 방법은 무엇입니까?
실제 numpy 배열을 int numpy 배열로 변환하는 방법은 무엇입니까? 배열을 직접 사용하여 map을 시도했지만 작동하지 않았습니다.
astype
방법을 사용하십시오 .
>>> x = np.array([[1.0, 2.3], [1.3, 2.9]])
>>> x
array([[ 1. , 2.3],
[ 1.3, 2.9]])
>>> x.astype(int)
array([[1, 2],
[1, 2]])
반올림을 제어하는 방법에 대한 몇 가지 numpy 함수 : rint , floor , trunc , ceil . 플로트를 반올림, 위, 아래 또는 가장 가까운 정수로 반올림하려는 방법에 따라.
>>> x = np.array([[1.0,2.3],[1.3,2.9]])
>>> x
array([[ 1. , 2.3],
[ 1.3, 2.9]])
>>> y = np.trunc(x)
>>> y
array([[ 1., 2.],
[ 1., 2.]])
>>> z = np.ceil(x)
>>> z
array([[ 1., 3.],
[ 2., 3.]])
>>> t = np.floor(x)
>>> t
array([[ 1., 2.],
[ 1., 2.]])
>>> a = np.rint(x)
>>> a
array([[ 1., 2.],
[ 1., 3.]])
이 중 하나를 int로 만들거나 다른 유형 중 하나를 numpy, astype으로 만들려면 ( BrenBern 이 대답 한대로) :
a.astype(int)
array([[1, 2],
[1, 3]])
>>> y.astype(int)
array([[1, 2],
[1, 2]])
당신은 사용할 수 있습니다 np.int_
:
>>> x = np.array([[1.0, 2.3], [1.3, 2.9]])
>>> x
array([[ 1. , 2.3],
[ 1.3, 2.9]])
>>> np.int_(x)
array([[1, 2],
[1, 2]])
당신은 확실히 당신의 입력이 NumPy와 배열을 될 것입니다하지 않는 경우, 당신은 사용할 수 있습니다 asarray
로 dtype=int
대신 astype
:
>>> np.asarray([1,2,3,4], dtype=int)
array([1, 2, 3, 4])
입력 배열에 이미 올바른 dtype이있는 asarray
경우 배열 복사를 피하면서 ( astype
그렇지 않은 경우 copy=False
) :
>>> a = np.array([1,2,3,4])
>>> a is np.asarray(a) # no copy :)
True
>>> a is a.astype(int) # copy :(
False
>>> a is a.astype(int, copy=False) # no copy :)
True
반응형
'Programing' 카테고리의 다른 글
코드를 대문자 또는 소문자로 변환하는 Intellij 단축키? (0) | 2020.04.01 |
---|---|
.min 파일을 포함하지 않는 번 들러 (0) | 2020.03.31 |
Python-문자열을 하위 프로세스에 어떻게 전달합니까? (0) | 2020.03.31 |
사전을 JSON으로 변환 (0) | 2020.03.31 |
랙 미들웨어 란 무엇입니까? (0) | 2020.03.31 |