Pandas: query() 함수에서 변수를 사용하는 방법


다음 구문을 사용하여 Pandas에서 query() 함수를 사용하고 변수 이름을 참조할 수 있습니다.

 df. query (' team == @team_name ')

이 특정 쿼리는 열이 team_name 이라는 변수에 저장된 값과 동일한 pandas DataFrame의 행을 검색합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas 쿼리에서 변수를 사용하는 방법

다양한 농구 선수에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '],
                   ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]})

#view DataFrame
print (df)

   team position points
0 AG 22
1 AG 25
2 AF 24
3 BG 39
4 BF 34
5 BF 20
6 BF 18
7 GC 17
8 GC 20
9 CF 19
10 CF 22

이제 열의 값이 C와 같은 행을 찾고 싶다고 가정합니다.

다음 구문을 사용하여 “C”와 동일한 team_name 이라는 변수를 만든 다음 query() 함수에서 이 변수를 참조할 수 있습니다.

 #specify team name to search for
team_name = ' C '

#query for rows where team is equal to team_name
df. query (' team == @team_name ')

        team position points
7 C G 17
8 C G 20
9 C F 19
10 C F 22

query() 함수는 열의 값이 C와 동일한 모든 행을 반환합니다.

또한 원하는 경우 query() 함수에서 여러 변수를 참조할 수 있습니다.

예를 들어, 다음 코드는 query() 함수를 사용하여 열의 값이 team_A 라는 변수 또는 team_C 라는 변수의 값과 동일한 모든 행을 반환하는 방법을 보여줍니다.

 #create two variables
team_A = ' A ' 
team_C = ' C '

#query for rows where team is equal to either of the two variables
df. query (' team == @team_A | team == @team_C ')

        team position points
0 A G 22
1 A G 25
2 A F 24
7 C G 17
8 C G 20
9 C F 19
10 C F 22

쿼리는 팀이 우리가 지정한 두 변수 중 하나에 저장된 값과 동일한 DataFrame의 모든 행을 반환합니다.

참고 : 여기에서 pandas query() 함수에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas: 문자열 길이를 기준으로 행을 필터링하는 방법
Pandas: 조건에 따라 행을 삭제하는 방법
Pandas: “NO IN” 필터를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다