Pandas에서 where() 함수를 사용하는 방법(예제 포함)


Where() 함수는 Pandas DataFrame의 특정 값을 바꾸는 데 사용할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

 df. where (cond, other=nan)

cond가 True인 pandas DataFrame의 각 값에 대해 원래 값이 유지됩니다.

cond가 False인 각 값에 대해 원래 값은 다른 인수에 지정된 값으로 대체됩니다.

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

 import pandas as pd

#define DataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

예시 1: DataFrame 전체에 걸쳐 값 바꾸기

다음 코드는 Where() 함수를 사용하여 전체 pandas DataFrame에서 특정 조건을 충족하지 않는 모든 값을 NaN 값으로 바꾸는 방법을 보여줍니다.

 #keep values that are greater than 7, but replace all others with NaN
df. where (df>7)

	points assists rebounds
0 25 NaN 11.0
1 12 NaN 8.0
2 15 NaN 10.0
3 14 9.0 NaN
4 19 12.0 NaN
5 23 9.0 NaN
6 25 9.0 9.0
7 29 NaN 12.0

다른 인수를 사용하여 값을 NaN이 아닌 다른 값으로 바꿀 수도 있습니다.

 #keep values that are greater than 7, but replace all others with 'low'
df. where (df>7, other=' low ')

	points assists rebounds
0 25 low 11
1 12 low 8
2 15 low 10
3 14 9 low
4 19 12 low
5 23 9 low
6 25 9 9
7 29 low 12

예시 2: 특정 DataFrame 열의 값 바꾸기

다음 코드는 Where() 함수를 사용하여 DataFrame의 특정 열에서 특정 조건을 충족하지 않는 모든 값을 바꾸는 방법을 보여줍니다.

 #keep values greater than 15 in 'points' column, but replace others with 'low'
df[' points '] = df[' points ']. where (df[' points ']>15, other=' low ')

#view DataFrame
df

	points assists rebounds
0 25 5 11
1 low 7 8
2 low 7 10
3 low 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

pandaswhere() 함수에 대한 전체 온라인 설명서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 기능을 사용하는 방법을 설명합니다.

Pandas에서 explain() 함수를 사용하는 방법
Pandas에서 idxmax() 함수를 사용하는 방법
Pandas에서 선택한 열에 함수를 적용하는 방법

의견을 추가하다

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