NumPy에서 특정 열을 기준으로 데이터를 그룹화할 수 있나요?
소개:
데이터 그룹화는 많은 데이터 분석 시나리오에서 중요한 작업입니다. Python의 강력한 수치 라이브러리인 NumPy는 배열을 조작하는 다양한 기능을 제공하지만 전용 그룹화 기능이 부족합니다. 이 기사에서는 전용 함수를 명시적으로 사용하지 않고 NumPy에서 그룹화를 수행하는 방법을 보여줍니다.
질문:
NumPy에 배열을 그룹화하는 함수가 있나요? 제공된 배열에 표시된 첫 번째 열?
array([[ 1, 275], [ 1, 441], [ 1, 494], [ 1, 593], [ 2, 679], [ 2, 533], [ 2, 686], [ 3, 559], [ 3, 219], [ 3, 455], [ 4, 605], [ 4, 468], [ 4, 692], [ 4, 613]])
예상됨 출력:
array([[[275, 441, 494, 593]], [[679, 533, 686]], [[559, 219, 455]], [[605, 468, 692, 613]]], dtype=object)
답변:
NumPy는 "그룹화 기준" 기능을 명시적으로 제공하지 않지만 Eelco Hoogendoorn의에서 영감을 받은 대체 접근 방식을 제공합니다. 도서관. 이 접근 방식은 배열의 첫 번째 열이 항상 증가한다는 가정을 기반으로 합니다. 그렇지 않은 경우 다음을 사용하여 첫 번째 열을 기준으로 배열을 정렬해야 합니다.
a = a[a[:, 0].argsort()]
첫 번째 열 값이 증가한다는 가정을 사용하여 다음 코드는 그룹화 작업을 수행합니다.
np.split(a[:, 1], np.unique(a[:, 0], return_index=True)[1][1:])
이 코드는 첫 번째 열의 고유 값을 기반으로 배열 요소를 하위 배열로 효과적으로 그룹화합니다. 각 하위 배열은 첫 번째 열 값이 동일한 모든 요소에 대한 두 번째 열 값을 포함하는 그룹을 나타냅니다.
추가 고려 사항:
따라서 NumPy는 배열 조작 및 정렬 기능을 활용하여 데이터를 그룹화하는 유연하고 효율적인 방법을 제공합니다. 전용 그룹화 기능이 없어도 말이죠.
위 내용은 NumPy는 열의 고유 값을 기반으로 데이터를 효율적으로 그룹화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!