파이썬 기초문법

[Python 문법] 컬럼에 특정 값이 있는 경우 다른 컬럼에 새로운 값을 대입

Family in August 2023. 2. 23. 10:31
반응형

파이썬에서는 다양한 방법으로 데이터프레임에서 특정 컬럼의 값을 필터링하고, 다른 컬럼에 값을 대입할 수 있습니다. 이를 위해서는 pandas 라이브러리를 사용할 수 있습니다.

아래는 pandas 라이브러리를 사용하여 특정 컬럼에서 조건에 맞는 값을 찾아 다른 컬럼에 값을 대입하는 예시 코드입니다.


import pandas as pd

# 데이터프레임 생성
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 32, 18, 47],
        'City': ['New York', 'Paris', 'London', 'San Francisco'],
        'Salary': [50000, 80000, 20000, 100000]}
df = pd.DataFrame(data)

# 'City' 컬럼에서 'London' 값을 가지는 행을 찾아 'Salary' 컬럼의 값을 30000으로 변경
df.loc[df['City'] == 'London', 'Salary'] = 30000

# 결과 출력
print(df)


위 코드는 df.loc[df['City'] == 'London', 'Salary'] = 30000 부분에서 'City' 컬럼에서 값이 'London'인 행을 찾아 'Salary' 컬럼의 값을 30000으로 변경합니다.
이때 df.loc 메소드를 사용하여 원하는 행과 열을 선택합니다.

결과는 아래와 같이 출력됩니다.

       Name  Age            City  Salary
0     Alice   25        New York   50000
1       Bob   32           Paris   80000
2   Charlie   18          London   30000
3     David   47  San Francisco  100000


위 코드에서는 df.loc 메소드를 사용했지만, df.loc 대신 df['Salary']와 같이 직접 컬럼에 접근하여 값을 변경할 수도 있습니다.

예를 들어, 위 코드의 df.loc[df['City'] == 'London', 'Salary'] = 30000를 df['Salary'][df['City'] == 'London'] = 30000으로 변경해도 동일한 결과를 얻을 수 있습니다.

반응형