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 열은 실제로 부울 열입니다.

또한 원하는 경우 TrueFalse 대신 10 과 같은 숫자 값을 반환할 수 있습니다.

 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을 필터링하는 방법

의견을 추가하다

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