본문 바로가기
파이썬

파이썬 자르지 않고 int 배열을 numpy의 문자열 배열로 변환

by º기록 2020. 9. 15.
반응형

int 배열을 numpy의 문자열 배열로 변환하려고합니다.

In [66]: a=array([0,33,4444522])
In [67]: a.astype(str)
Out[67]: 
array(['0', '3', '4'], 
      dtype='|S1')

내가 의도 한 바가 아님

In [68]: a.astype('S10')
Out[68]: 
array(['0', '33', '4444522'], 
      dtype='|S10')

이것은 작동하지만 10이 내 가장 긴 줄을 잡을만큼 충분히 크다는 것을 알아야했습니다. 어떤 크기의 문자열이 필요한지 미리 알지 않고도 쉽게 할 수있는 방법이 있습니까? 오류를 던지지 않고 조용히 문자열을 자르는 것은 약간 위험 해 보입니다.

 

해결 방법

 

다시 말하지만, 이것은 순수한 Python으로 해결할 수 있습니다.

>>> map(str, [0,33,4444522])
['0', '33', '4444522']

또는 앞뒤로 변환해야하는 경우 :

>>> a = np.array([0,33,4444522])
>>> np.array(map(str, a))
array(['0', '33', '4444522'], 
      dtype='|S7')

 

참조 페이지 https://stackoverflow.com/questions/9958846

 

 

반응형

댓글