"In" 및 "Not In"을 사용하여 Pandas 데이터 프레임 필터링: 더 간단한 솔루션
Pandas 데이터 프레임으로 작업할 때 종종 필요한 경우가 있습니다. 특정 기준에 따라 데이터를 필터링합니다. 일반적인 요구 사항 중 하나는 SQL "IN" 및 "NOT IN" 연산자와 유사하게 특정 열이 미리 정의된 값 집합과 일치하거나 일치하지 않는 행을 찾는 것입니다.
병합의 대안 기반 접근 방식
전통적으로 일부 사용자는 이러한 필터링을 달성하기 위해 병합 기반 접근 방식을 사용해 왔습니다. 이 방법은 기능적이지만 비효율적이고 불필요하게 복잡한 것으로 간주됩니다.
pd.Series.isin 사용
이상적인 솔루션은 pd.Series.isin 기능을 활용하는 것입니다. "IN" 및 "NOT IN" 필터링 모두에 대한 간단한 기능을 제공합니다.
"IN" 필터링
특정 열이 목록의 값과 일치하는 행을 필터링하려면 제공된 목록, 사용:
something.isin(somewhere)
"NOT IN" 필터링
또는 열 값이 주어진 목록의 어떤 값과도 일치하지 않는 행을 필터링하려면 다음을 사용하세요.
~something.isin(somewhere)
사용 예
다음 사항을 고려하세요 예:
df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']}) countries_to_keep = ['UK', 'China'] df_in = df[df.country.isin(countries_to_keep)] df_not_in = df[~df.country.isin(countries_to_keep)] print(df_in) print(df_not_in)
출력:
country 1 UK 3 China country 0 US 2 Germany
시연된 바와 같이 pd.Series.isin은 Pandas 데이터 프레임을 필터링하기 위한 간결하고 효율적인 방법을 제공합니다. 복잡한 병합 기반 접근 방식이 필요하지 않으므로 필터링 프로세스가 더 단순해지고 성능이 향상됩니다.
위 내용은 'IN' 및 'NOT IN' 연산자를 사용하여 Pandas DataFrame을 효율적으로 필터링하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!