Pandas DataFrame 쿼리 메서드

Beginner

소개

이 랩에서는 Pandas 라이브러리의 query() 메서드에 대해 배우게 됩니다. query() 메서드를 사용하면 부울 표현식을 기반으로 DataFrame 을 필터링할 수 있습니다. 이는 filter() 메서드와 유사합니다. 이 메서드를 사용하여 하나 이상의 열을 기반으로 DataFrame 을 필터링하고, 'AND' 연산자를 사용하여 여러 조건을 결합할 수도 있습니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

DataFrame 생성하기

먼저, 작업할 DataFrame 을 생성해 보겠습니다. 이 예제에서는 이름, 나이, 키, 몸무게를 포함한 사람들에 대한 정보를 담은 DataFrame 을 생성합니다.

#importing pandas as pd
import pandas as pd

#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
                   'Age': [19, 26, 22, 24, 21, 23],
                   'Height': [165, 150, 168, 157, 155, 170],
                   'Weight': [60, 65, 70, 50, 52, 55]})

단일 열을 기준으로 DataFrame 필터링

다음으로, query() 메서드를 사용하여 단일 열을 기준으로 DataFrame 을 필터링해 보겠습니다. 이 예제에서는 나이가 23 세 미만인 행만 포함하도록 DataFrame 을 필터링합니다.

#filtering the DataFrame by age
filtered_df = df.query('Age < 23')

#printing the filtered DataFrame
print(filtered_df)

Output:

    Name  Age  Height  Weight
0  Chetan   19     165      60
2  Yuvraj   22     168      70
4   Sindu   21     155      52

두 열 비교를 통한 DataFrame 필터링

이제 query() 메서드를 사용하여 두 열을 비교하여 DataFrame 을 필터링해 보겠습니다. 이 예제에서는 "sci_Marks" 열의 값이 "Maths_Marks" 열의 값보다 큰 행만 포함하도록 DataFrame 을 필터링합니다.

#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
                   'sci_Marks': [85, 70, 75, 90, 95, 70],
                   'Maths_Marks': [82, 79, 80, 89, 92, 70]})

#filtering the DataFrame by comparing two columns
filtered_df = df.query('sci_Marks > Maths_Marks')

#printing the filtered DataFrame
print(filtered_df)

Output:

     Name  sci_Marks  Maths_Marks
0  Chetan         85           82
3   Pooja         90           89
4   Sindu         95           92

'AND' 연산자를 사용한 DataFrame 필터링

마지막으로, 'AND' 연산자를 사용하여 여러 조건을 결합하여 DataFrame 을 필터링해 보겠습니다. 이 예제에서는 키가 155 이상이고 몸무게가 60 이상인 행만 포함하도록 DataFrame 을 필터링합니다.

#filtering the DataFrame by using 'AND' operator
filtered_df = df.query('Height > 155 and Weight > 60')

#printing the filtered DataFrame
print(filtered_df)

Output:

     Name  Age  Height  Weight
1  Yashas   26     150      65
2  Yuvraj   22     168      70

요약

축하합니다! 이 랩에서는 Pandas 라이브러리의 query() 메서드를 사용하는 방법을 배웠습니다. 이제 부울 표현식, 단일 열, 두 열 비교를 기반으로 DataFrame 을 필터링하고 'AND' 연산자를 사용하여 여러 조건을 결합하는 방법을 알게 되었습니다. 이 메서드는 Pandas DataFrame 에서 데이터를 빠르고 효율적으로 필터링하는 데 유용합니다. query() 메서드 사용에 능숙해지려면 계속 연습하고 다양한 사용 사례를 탐색하십시오.