Pandas DataFrame DataFrame.where() 함수

Minahil Noor 2023년1월30일
  1. pandas.DataFrame.where() 구문
  2. 예제 코드: DataFrame.where()
  3. 예제 코드: 값을 지정하는DataFrame.where()
  4. 예제 코드: 여러 조건을 사용하는DataFrame.where()
Pandas DataFrame DataFrame.where() 함수

Python Pandas DataFrame.where() 함수는 조건을 매개 변수로 허용하고 결과를 생성합니다. 따라서. DataFrame의 각 값에 대한 조건을 확인하고 조건을 수락하는 값을 선택합니다. 기능은 if-else 문과 유사합니다. 조건을 받아들이지 않는 값은 기본적으로 NaN값으로 대체됩니다.

pandas.DataFrame.where() 구문

DataFrame.where(
    cond,
    other=NaN,
    inplace=False,
    axis=None,
    level=None,
    errors="raise",
    try_cast=False,
)

매개 변수

이 기능에는 여러 매개 변수가 있습니다. 모든 매개 변수의 기본값은 위에 언급되어 있습니다.

cond 부울Series 또는DataFrame, 배열과 유사한 구조 또는 콜 러블입니다. DataFrame의 각 값을 확인하기위한 조건 / 조건을 나타냅니다. 조건이 True이면 원래 값이 대체되지 않습니다. 그렇지 않으면NaN 값으로 대체됩니다.
other 스칼라,Series /DataFrame 또는 콜 러블입니다. 조건이 False인 경우 원래 값에 배치 될 값을 나타냅니다.
inplace 부울 값입니다. 데이터 작업에 대해 알려줍니다. True이면 스스로 변경합니다.
axis 정수 값입니다. 작업 축에 대해 행 또는 열을 알려줍니다.
level 정수 값입니다. 레벨에 대해 알려줍니다.
errors 문자열입니다. 오류에 대해 알려줍니다. 두 가지 옵션을 허용합니다: raise 또는ignore. 값이 raise이면 예외가 발생할 수 있습니다. 값이 ignore이면 예외를 무시하고 오류가 있으면 원래 객체를 반환합니다.
try_cast 부울 값입니다. 가능한 경우 함수의 출력을 원래 입력 유형으로 캐스트합니다.

반환

조건에 따라 변경된 DataFrame을 반환합니다.

예제 코드: DataFrame.where()

다음 코드 예제에서 구현하여이 함수에 대해 자세히 알아 봅니다.

import pandas as pd

dataframe=pd.DataFrame({
                        'A': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95,
                            5: 45,
                            6: 67,
                            7: 12,
                            8: 23,
                            9: 50},
                        'B': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45,
                            5: 35,
                            6: 74,
                            7: 52,
                            8: 93,
                            9: 18}
                        })

print(dataframe)

DataFrame의 예는 다음과 같습니다.

     A   B
0   60  90
1  100  75
2   80  82
3   78  64
4   95  45
5   45  35
6   67  74
7   12  52
8   23  93
9   50  18

이 함수에는 하나의 필수 매개 변수 즉 cond가 있습니다.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
        "B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
    }
)

dataframe1 = dataframe.where(dataframe > 50)
print(dataframe1)

출력:

       A     B
0   60.0  90.0
1  100.0  75.0
2   80.0  82.0
3   78.0  64.0
4   95.0   NaN
5    NaN   NaN
6   67.0  74.0
7    NaN  52.0
8    NaN  93.0
9    NaN   NaN

50보다 크지 않은 값, 즉 조건을 충족하지 않는 값은 NaN값으로 대체됩니다.

예제 코드: 값을 지정하는DataFrame.where()

import pandas as pd

dataframe = pd.DataFrame(
    {
        "A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
        "B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
    }
)

dataframe1 = dataframe.where(dataframe > 50, other=0)
print(dataframe1)

출력:

     A   B
0   60  90
1  100  75
2   80  82
3   78  64
4   95   0
5    0   0
6   67  74
7    0  52
8    0  93
9    0   0

여기서 조건을 충족하지 않는 값은 사용자 정의 값으로 대체됩니다.

예제 코드: 여러 조건을 사용하는DataFrame.where()

import pandas as pd

dataframe = pd.DataFrame(
    {
        "A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
        "B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
    }
)

dataframe1 = dataframe.where((dataframe == 80) | (dataframe < 50), other=0)
print(dataframe1)

출력:

    A   B
0   0   0
1   0   0
2  80   0
3   0   0
4   0  45
5  45  35
6   0   0
7  12   0
8  23   0
9   0  18

반환 된DataFrame에는 두 조건을 모두 충족하는 값이 포함됩니다.

관련 문장 - Pandas DataFrame