Pandas의 객체 지향 SQL 유사 필터링
Pandas 데이터 프레임 필터링은 데이터 분석에서 중요한 작업이며 이를 효과적으로 활용하는 방법을 이해합니다. SQL과 유사한 연산자는 이 프로세스를 크게 단순화할 수 있습니다. 특히 IN 및 NOT IN 연산자는 멤버십 기준에 따라 행을 선택하는 데 널리 사용됩니다.
SQL의 IN 및 NOT IN과 동등한 Pandas
동등한 결과를 얻으려면 Pandas의 SQL IN 연산자를 사용하면 Series에서 isin() 메서드를 활용할 수 있습니다. 이 메서드는 Series의 각 요소가 지정된 목록이나 집합에 포함되어 있는지 확인합니다. 예를 들어, 포함할 국가 목록을 기반으로 데이터 프레임을 필터링하려면:
df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']}) countries_to_keep = ['UK', 'China'] df[df['country'].isin(countries_to_keep)]
이것은 국가 열 값이 국가_to_keep 목록에 있는 행만 포함하는 데이터 프레임을 반환합니다.
SQL의 NOT IN과 동등한 작업을 수행하려면 ~를 사용하여 isin() 메서드를 무효화하면 됩니다. 연산자:
df[~df['country'].isin(countries_to_keep)]
국가 열 값이 지정된 목록과 일치하는 행을 제외하는 데이터 프레임을 생성합니다.
예
다음을 고려하세요. 다음 데이터 프레임:
df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']}) countries_to_keep = ['UK', 'China']
국가가 포함된 행만 선택하려면 country_to_keep:
df_filtered_in = df[df['country'].isin(countries_to_keep)]
결과는 다음과 같습니다.
country 1 UK 3 China
country_to_keep에 없는 국가가 있는 행을 선택하려면:
df_filtered_not_in = df[~df['country'].isin(countries_to_keep)]
이렇게 하면 됩니다. 생산:
country 0 US 2 Germany
결론
Pandas의 isin() 메서드는 IN 및 NOT IN 스타일 필터링을 구현하는 편리하고 효율적인 방법을 제공하여 강력한 기능을 제공합니다. 멤버십 기준에 따라 데이터프레임을 조작하기 위한 도구입니다.
위 내용은 Pandas에서 SQL의 IN 및 NOT IN 필터링을 효율적으로 수행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!