> 백엔드 개발 > 파이썬 튜토리얼 > 전용 기능 없이 NumPy에서 GroupBy 기능을 어떻게 얻을 수 있나요?

전용 기능 없이 NumPy에서 GroupBy 기능을 어떻게 얻을 수 있나요?

Susan Sarandon
풀어 주다: 2024-11-26 04:38:13
원래의
238명이 탐색했습니다.

How Can I Achieve GroupBy Functionality in NumPy Without a Dedicated Function?

NumPy의 GroupBy 기능

데이터 그룹화는 데이터 분석의 일반적인 작업으로, 특정 기준에 따라 데이터를 집계하고 구성할 수 있습니다. NumPy는 기본적으로 기능별 전용 그룹을 제공하지 않지만 이 기능을 달성하기 위해 취할 수 있는 몇 가지 접근 방식이 있습니다.

한 가지 방법은 np.unique()와 함께 np.split() 함수를 사용하는 것입니다. . 이 접근 방식은 그룹화 키 역할을 하는 배열의 첫 번째 열이 항상 증가한다는 가정을 기반으로 합니다. 이 열을 기준으로 배열을 정렬하고 고유한 값을 얻으면 np.split()을 사용하여 배열을 그룹으로 분할할 수 있습니다.

예를 들어 다음 배열이 주어지면:

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]])
로그인 후 복사

이 배열을 첫 번째 열로 그룹화하려면 다음 코드를 사용하면 됩니다.

a = a[a[:, 0].argsort()]
np.split(a[:,1], np.unique(a[:, 0], return_index=True)[1][1:])
로그인 후 복사

이렇게 하면 원하는 결과가 생성됩니다. 출력:

array([[[275, 441, 494, 593]],
       [[679, 533, 686]],
       [[559, 219, 455]],
       [[605, 468, 692, 613]]], dtype=object)
로그인 후 복사

이 접근 방식은 여러 가지 장점을 제공합니다.

  • 명시적인 루프가 필요하지 않아 더욱 효율적입니다.
  • 결과 목록은 NumPy입니다. 배열을 사용하여 변환 없이 추가 NumPy 작업을 수행할 수 있습니다.
  • 복잡도는 O(n)(또는 O(n log(n)) with sorting).

NumPy 자체에는 기능별로 특정 그룹이 없을 수 있지만 위에 설명된 방법은 데이터에 대한 그룹화 작업을 수행하는 효과적인 방법을 제공합니다. 효과적으로 정리하고 분석합니다.

위 내용은 전용 기능 없이 NumPy에서 GroupBy 기능을 어떻게 얻을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿