numpy를 요소의 길이로 사용하여 문자열 배열을 정렬하려고합니다.numpy를 사용하여 문자열 배열 정렬
>>> arr = ["year","month","eye","i","stream","key","house"]
>>> x = np.sort(arr, axis=-1, kind='mergesort')
>>> print(x)
['eye' 'house' 'i' 'key' 'month' 'stream' 'year']
그러나 영숫자 순으로 정렬됩니다. 길이에 따라 numpy를 사용하여 정렬하려면 어떻게해야합니까?
속도가 빠를 것이라고 생각하여이 작업을 수행하는 경우 numpy 작동 방식을 이해하지 못합니다. 같은 크기의 바이트를 차지하는 요소를 위해 설계되었습니다. 동일하지 않은 길이의 문자열은이를 만족시키지 않아서 numpy로 객체에 래핑되고 아마 더 비효율적입니다. –
numpy를 사용하는 데에는 많은 이유가 있지만 Oliver의 발언에 동의해야합니다. 이 코드 예제는 당연히 더 아름답고/컴팩트 한 구문을 허용하는 파이썬의 내장 정렬 방법을 요구합니다. (하지만 어쩌면 당신은 numpy를 사용하는 다른 이유가있을 수 있으며 이는 단지 예일뿐입니다). – sascha
고맙습니다. 현재로서는, 나는 numpy에 처음이다. 그리고 나는 단지 이해하려고 노력하고있다. @ sascha 그럼 길이가 너무 많은 문자열 요소를 정렬 할 때 사용할 수있는 방법은 무엇입니까? 파이썬 고유의 정렬 방법? – GGG