Pandas: 조건에 따라 부울 열을 만드는 방법
다음 기본 구문을 사용하여 Pandas DataFrame에서 조건 기반 부울 열을 생성할 수 있습니다.
df[' boolean_column '] = np. where (df[' some_column '] > 15, True , False )
이 특정 구문은 두 가지 가능한 값이 있는 새 부울 열을 생성합니다.
- some_column 의 값이 15보다 크면 참입니다 .
- some_column 의 값이 15보다 작거나 같으면 False입니다 .
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: Pandas의 조건을 기반으로 부울 열 생성
다양한 농구 선수에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [5, 17, 7, 19, 12, 13, 9, 24]}) #view DataFrame print (df) team points 0 to 5 1 to 17 2 to 7 3 to 19 4 B 12 5 B 13 6 B 9 7 B 24
다음 코드를 사용하여 포인트 열의 값이 15보다 크면 True를 반환하고 그렇지 않으면 False를 반환하는 good_player 라는 새 열을 만들 수 있습니다.
import numpy as np
#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, True , False )
#view updated DataFrame
print (df)
team points good_player
0 To 5 False
1 To 17 True
2 To 7 False
3 To 19 True
4 B 12 False
5 B 13 False
6 B 9 False
7 B 24 True
good_player 라는 새 열에는 True 또는 False 라는 두 가지 값만 포함되어 있습니다.
dtypes() 함수를 사용하여 새로운 good_player 열이 실제로 부울 열인지 확인할 수 있습니다.
#display data type of good_player column
df[' good_player ']. dtype
dtype('bool')
새로운 good_player 열은 실제로 부울 열입니다.
또한 원하는 경우 True 및 False 대신 1 및 0 과 같은 숫자 값을 반환할 수 있습니다.
import numpy as np
#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, 1 , 0 )
#view updated DataFrame
print (df)
team points good_player
0 to 5 0
1 To 17 1
2 to 7 0
3 A 19 1
4 B 12 0
5 B 13 0
6 B 9 0
7 B 24 1
이제 포인트 열의 해당 값이 15보다 크면 good_player 열에 1 이 포함됩니다.
그렇지 않으면 값 0 이 포함됩니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas에서 여러 조건을 기반으로 행을 선택하는 방법
Pandas의 조건을 기반으로 새 열을 만드는 방법
여러 조건에서 Pandas DataFrame을 필터링하는 방법