Pandas DataFrame에서 If-Else 조건 적용

Fariba Laiq 2023년6월21일
  1. DataFrame.loc[]를 사용하여 Python의 Pandas DataFrame에서 if-else 조건을 적용합니다.
  2. DataFrame.apply()를 사용하여 Python의 Pandas DataFrame에서 if-else 조건을 적용합니다.
  3. NumPy.select()를 사용하여 Python의 Pandas DataFrame에서 if-else 조건을 적용합니다.
  4. apply()와 함께 lambda를 사용하여 Python의 Pandas DataFrame에서 if-else 조건을 적용합니다.
Pandas DataFrame에서 If-Else 조건 적용

Pandas는 Python의 오픈 소스 데이터 분석 라이브러리입니다. 숫자 데이터에 대한 작업을 수행하는 많은 기본 제공 메서드를 제공합니다.

경우에 따라 Pandas 데이터 프레임에 if-else 조건을 적용하여 일부 조건에 따라 레코드를 필터링하거나 계산을 수행하려고 합니다. Python은 Pandas 데이터 프레임에서 if-else를 사용하는 다양한 방법을 제공합니다.

DataFrame.loc[]를 사용하여 Python의 Pandas DataFrame에서 if-else 조건을 적용합니다.

[loc[]]는 행 또는 열 그룹을 선택하거나 필터링하는 데 사용되는 Pandas 데이터 프레임의 속성입니다. 다음 예에서는 이 속성을 사용하여 지정된 조건을 충족하는 레코드를 필터링합니다.

여기에는 학생들의 데이터로 구성된 Pandas 데이터 프레임이 있습니다. loc[]를 사용하면 한 번에 하나의 조건만 적용할 수 있습니다.

첫 번째 조건에서 60점 이상의 점수를 받은 학생을 필터링하고 결과를 새 열 결과통과로 할당합니다. 마찬가지로 다른 조건에서 나머지 학생 결과에 대해 실패를 설정합니다.

예제 코드:

# Python 3.x
import pandas as pd

df = pd.DataFrame(
    {"Name": ["Robert", "Sam", "Alia", "Jhon", "Smith"], "Marks": [60, 41, 79, 51, 88]}
)
display(df)
df.loc[df["Marks"] >= 60, "Result"] = "Pass"
df.loc[df["Marks"] < 60, "Result"] = "Fail"
display(df)

출력:

Pandas if else using DataFrame.loc - 출력

DataFrame.apply()를 사용하여 Python의 Pandas DataFrame에서 if-else 조건을 적용합니다.

apply() 메서드는 데이터 프레임의 축(행 또는 열)을 사용하여 함수를 적용합니다. if-else 조건으로 구성된 정의된 함수를 만들어 Pandas 데이터 프레임에 적용할 수 있습니다.

여기에서 assign_Result() 함수를 정의하고 이를 Marks 열에 적용했습니다. 이 함수는 Marks를 기반으로 결과를 할당하고 모든 열 행에 대해 이를 호출하는 if-else 조건으로 구성됩니다.

예제 코드:

# Python 3.x
import pandas as pd

df = pd.DataFrame(
    {"Name": ["Robert", "Sam", "Alia", "Jhon", "Smith"], "Marks": [60, 41, 79, 51, 88]}
)
display(df)


def assign_Result(marks):
    if marks >= 60:
        result = "Pass"
    else:
        result = "Fail"
    return result


df["Result"] = df["Marks"].apply(assign_Result)
display(df)

출력:

Pandas if else using DataFrame.apply() - 출력

NumPy.select()를 사용하여 Python의 Pandas DataFrame에서 if-else 조건을 적용합니다.

조건이 True인 경우 목록의 열과 다른 목록의 해당 값에 대해 여러 조건을 정의할 수 있습니다. select() 메서드는 조건 목록과 해당 값 목록을 인수로 가져와 Result 열에 할당합니다.

예제 코드:

# Python 3.x
import pandas as pd
import numpy as np

df = pd.DataFrame(
    {"Name": ["Robert", "Sam", "Alia", "Jhon", "Smith"], "Marks": [60, 41, 79, 51, 88]}
)
display(df)
conditions = [(df["Marks"] >= 60), (df["Marks"] < 60)]
result = ["Pass", "Fail"]
df["Result"] = np.select(conditions, result)
display(df)

출력:

NumPy.select()를 사용하는 경우 Pandas - 출력

apply()와 함께 lambda를 사용하여 Python의 Pandas DataFrame에서 if-else 조건을 적용합니다.

람다는 단일 표현식으로 구성된 작은 익명 함수입니다. Marks 열에서 apply()와 함께 lambda를 사용합니다.

x에는 lambda 표현식의 표시가 포함됩니다. if-else 조건을 x에 적용하고 그에 따라 결과 열에 결과를 할당했습니다.

예제 코드:

# Python 3.x
import pandas as pd
import numpy as np

df = pd.DataFrame(
    {"Name": ["Robert", "Sam", "Alia", "Jhon", "Smith"], "Marks": [60, 41, 79, 51, 88]}
)
display(df)
df["Result"] = df["Marks"].apply(lambda x: "Pass" if x >= 60 else "Fail")
display(df)

출력:

pandas if else using lambda with apply() - 출력

작가: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

관련 문장 - Pandas Condition