집 >데이터 베이스 >MySQL 튜토리얼 >Pandas의 groupby를 사용하여 SQL의 HAVING 절 기능을 어떻게 달성할 수 있습니까?
Pandas의 groupby
과 SQL의 HAVING
절
데이터 분석에는 데이터 그룹화 및 필터링이 포함되는 경우가 많습니다. SQL의 GROUP BY
절은 행을 그룹화하여 집계 함수 적용을 가능하게 합니다. Pandas의 groupby
메소드는 이를 반영하지만 SQL의 HAVING
절과 직접적으로 동등한 것이 부족합니다.
HAVING
절은 집계 값 조건을 기준으로 그룹화된 데이터를 필터링합니다. 다음과 같은 SQL 쿼리:
<code class="language-sql">SELECT * ... GROUP BY col_name HAVING condition;</code>
먼저 col_name
으로 그룹화한 다음 집계 조건을 충족하는 행을 선택합니다.
Pandas는 filter
객체의 groupby
메서드를 사용하여 이를 달성합니다. 이 메서드는 각 그룹에 대해 부울을 반환하는 함수를 허용합니다. True
로 평가된 그룹은 유지됩니다. 나머지는 폐기됩니다.
'A'와 'B' 열이 있는 Pandas DataFramedf
을 생각해 보세요. 모방하려면 HAVING COUNT(*) > 1
:
<code class="language-python">g = df.groupby('A') filtered_df = g.filter(lambda x: len(x) > 1)</code>
여기 filter
에서는 그룹당 행 수를 계산하는 기능을 적용합니다. 행이 두 개 이상인 그룹은 유지되므로 filtered_df
해당 그룹만 포함됩니다.
filter
메소드는 복잡한 필터링을 지원합니다. 모든 부울 반환 함수를 사용할 수 있습니다. 이는 다양한 조건에 따라 그룹화된 데이터 하위 집합을 선택할 때 뛰어난 유연성을 제공합니다.
Pandas의 groupby
의 filter
메소드는 SQL의 HAVING
절 기능을 효과적으로 복제하여 다양한 데이터 조작 및 통계 분석을 위해 그룹화된 데이터의 효율적인 조건부 필터링을 가능하게 합니다.
위 내용은 Pandas의 groupby를 사용하여 SQL의 HAVING 절 기능을 어떻게 달성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!