>데이터 베이스 >MySQL 튜토리얼 >Pandas에서 SQL의 GROUP BY HAVING 절을 구현하는 방법은 무엇입니까?

Pandas에서 SQL의 GROUP BY HAVING 절을 구현하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-10 17:29:41900검색

How to Implement SQL's GROUP BY HAVING Clause in Pandas?

Pandas에서 SQL GROUP BY HAVING 절 구현

SQL에서 GROUP BY 연산은 지정된 열의 값을 기준으로 데이터를 하위 집합으로 나눕니다. HAVING 절은 이러한 하위 집합에 필터 제약 조건을 적용합니다. 이 기능을 사용하면 선택적 데이터 집계 및 필터링이 가능합니다.

Pandas에서 GROUP BY 기능은 GroupBy 개체를 반환하는 groupby() 메서드를 통해 사용할 수 있습니다. SQL HAVING 절에 해당하는 Pandas는 filter()에 의해 생성된 하위 집합에 필터를 적용하는 groupby() 메서드입니다.

구문:

<code>df.groupby(by_column).filter(filter_function)</code>

그 중:

  • df은 Pandas DataFrame입니다.
  • by_column은 그룹화에 사용되는 열입니다.
  • filter_function은 각 그룹에 대한 부울 값을 반환하는 함수입니다.

사용법:

Pandas에서 그룹화된 데이터세트에 필터를 적용하려면 다음 단계를 따르세요.

  1. DataFrame에서 groupby()을 호출하여 GroupBy 개체를 만듭니다.
  2. filter() 메소드를 이용하여 각 그룹에 filter_function를 적용합니다.
  3. filter_function은 각 그룹에 대해 부울 값을 반환해야 합니다.
  4. 필터링된 그룹은 새 DataFrame으로 반환됩니다.

예:

다음과 같은 Pandas DataFrame이 있다고 가정해 보겠습니다.

<code>df = pd.DataFrame([[1, 2], [1, 3], [5, 6]], columns=['A', 'B'])</code>

B열의 합이 4보다 큰 그룹을 찾으려면 다음 코드를 사용할 수 있습니다.

<code>result = df.groupby('A').filter(lambda x: x['B'].sum() > 4)</code>

결과는 필터 기준을 충족하는 그룹의 행을 포함하는 새 DataFrame입니다.

<code>print(result)</code>

출력:

<code>   A  B
0  1  2
1  1  3</code>

추가 참고 사항:

  • filter_function은 Pandas 그룹을 입력으로 받아들이고 부울 값을 반환하는 유효한 Python 함수일 수 있습니다.
  • filter_function에는 그룹화에 사용되는 열에 대한 액세스 권한이 없다는 점에 유의하는 것이 중요합니다. 이러한 열에 액세스해야 하는 경우 필터를 적용하기 전에 열별로 수동으로 그룹화할 수 있습니다.
  • Pandas의 GROUP BY HAVING 기능은 복잡한 데이터 집계 및 필터링 작업을 수행하는 강력한 방법을 제공합니다.

위 내용은 Pandas에서 SQL의 GROUP BY HAVING 절을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.