[파이썬] pandas에서 데이터 변환 (apply, map, replace)

pandas는 파이썬에서 데이터 분석과 변환 작업을 수행하기 위한 강력한 도구입니다. 이번 글에서는 pandas의 apply, map, replace 함수를 사용하여 데이터 변환 작업을 수행하는 방법에 대해 알아보겠습니다.

1. apply 함수

apply 함수는 pandas의 DataFrame 또는 Series 객체에 사용되며, 주어진 함수를 각 요소에 적용하는 역할을 합니다. 예를 들어, 특정한 컬럼의 값을 변환하거나 계산 결과를 생성하는 데 사용될 수 있습니다.

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4],
                   'B': [10, 20, 30, 40]})

def square(x):
    return x ** 2

df['A_squared'] = df['A'].apply(square)
print(df)

위의 코드는 DataFrame에 ‘A_squared’라는 새로운 컬럼을 생성하고, ‘A’ 컬럼의 각 값에 제곱을 적용하여 저장하는 예제입니다.

2. map 함수

map 함수는 pandas의 Series 객체에 사용되며, 주어진 함수를 각 요소에 적용하여 새로운 값을 반환합니다. 주로 특정한 값들을 다른 값으로 매핑(mapping)하는 데 사용됩니다.

import pandas as pd

df = pd.DataFrame({'A': ['apple', 'banana', 'cherry'],
                   'B': [10, 20, 30]})

fruit_to_color = {'apple': 'red', 'banana': 'yellow', 'cherry': 'red'}

df['color'] = df['A'].map(fruit_to_color)
print(df)

위의 코드는 DataFrame에 ‘color’라는 새로운 컬럼을 생성하고, ‘A’ 컬럼의 각 값에 대해 fruit_to_color 딕셔너리에 매핑한 값을 저장하는 예제입니다.

3. replace 함수

replace 함수는 pandas의 DataFrame 또는 Series 객체에 사용되며, 주어진 값이나 패턴을 다른 값으로 치환하거나 삭제하는 역할을 합니다.

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4],
                   'B': [10, 20, 30, 40]})

df['A'].replace({1: 'one', 2: 'two'}, inplace=True)
print(df)

위의 코드는 DataFrame의 ‘A’ 컬럼에 있는 값들 중에 1을 ‘one’으로, 2를 ‘two’로 치환하는 예제입니다. replace 함수의 인자로 딕셔너리를 전달하여 치환할 값과 치환될 값의 매핑을 지정할 수 있습니다.

pandas의 apply, map, replace 함수를 사용하면 간단하게 데이터 변환 작업을 수행할 수 있습니다. 이를 통해 데이터를 필요에 맞게 가공하고 분석에 활용할 수 있습니다.