인공지능, 데이터분석/[Numpy, Pandas] EDA, 문법

[Pandas] map(), apply() 메서드

마법사 코딩공주 2023. 5. 24. 22:22
728x90
반응형

📌  map() 메서드

Serise의 각 원소에 대해 함수를 적용하여 변환한다.

일반적으로 값 간의 일대일 매핑을 수행하는데 사용됩니다.

예를 들어, 특정 열의 값들을 다른 값으로 매핑하거나, 문자열을 숫자로 변환하는 등의 작업에 활용할 수 있습니다.

형태 : 

  • map_func: 각 원소에 적용할 함수 또는 변환식을 정의합니다.
  • series: 변환을 적용할 Series 객체입니다.
map_func = lambda x: 변환식
series.map(map_func)

기본 사용법 :

# 정수를 제곱하여 변환하는 예시
series = pd.Series([1, 2, 3, 4, 5])
map_func = lambda x: x**2
result = series.map(map_func)
print(result)

출력 : 


📌  apply() 메서드

Series 또는 DataFrame의 열에 함수를 적용하여 반환합니다.

기본적으로 열 방향(aixs=0)으로 동작하며, 각 여의 값을 함수에 전달하여 변환합니다.

'apply()' 메서드는 각 열에 대해 독립적으로 작업을 수행하므로 열별로 다른 변환을 적용할 수 있습니다.

형태 : 

  • apply_func: 각 원소 또는 각 행/열에 적용할 함수 또는 변환식을 정의합니다.
  • series: 변환을 적용할 Series 객체입니다.
  • dataframe: 변환을 적용할 DataFrame 객체입니다.
  • axis: apply()를 DataFrame에 사용할 경우, 기본적으로 열 방향(axis=0)으로 동작합니다. 행 방향(axis=1)으로 적용하려면 axis=1로 설정해야 합니다.
apply_func = lambda x: 변환식
series.apply(apply_func)
dataframe.apply(apply_func, axis=0)
dataframe.apply(apply_func, axis=1)

기본 사용법 :

# 문자열을 대문자로 변환하는 예시
series = pd.Series(['apple', 'banana', 'cherry'])
apply_func = lambda x: x.upper()
result = series.apply(apply_func)
print(result)

출력 : 

# DataFrame의 열에 함수 적용하기
dataframe = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
apply_func = lambda x: x * 2
result = dataframe.apply(apply_func, axis=0)
print(result)

출력 : 

 

[참고] https://seong6496.tistory.com/236

 

[Pandas] 함수 적용하기(map,apply, applymap)

판다스 내에서 함수처리 하는 방법입니다. 파이썬으로 할 수 있지만 판다스 메쏘드로 간단한 함수를 정의할 수 있다는 게 큰 장점이고 메모리 절약도 할 수 있습니다. map, apply, applymap 세가지 메

seong6496.tistory.com

 

728x90
반응형