728x90
728x90
🔉 빅데이터 분석을 편리하게 해주는 파이썬 라이브러리인 Pandas에 대해 공부해보자!
📝목차
1. map
2. apply
3. applymap
1. map
☑️ 함수를 통한 컬럼 변환 & 생성
import pandas as pd
df = pd.DataFrame({'가':[1,2,3,4,5]})
df
output:
def function(x): # 사용자 정의 함수
if x == 1:
return 'one'
elif x == 2:
return 'two'
elif x == 3:
return 'three'
elif x == 4:
return 'four'
elif x == 5:
return 'five'
df['english'] = df['가'].map(function) # map함수를 이용해 새로운 컬럼 생성
df
output:
특정 컬럼에 값을 하나씩 받아 새로운 컬럼에 함수를 적용해 알맞는 값을 넣어준다.
☑️ 딕셔너리를 전달해 컬럼 변환 & 생성
다음과 같은 데이터프레임을 만든 후 map함수를 통해 회사 이름을 한국어로 변환하는 코드를 짜보려고 한다.
tmp_list = [{'number' : 20, 'company' : 'kokoa'},
{'number' : 32, 'company' : 'nover'},
{'number' : 23, 'company' : 'somsang'},
{'number' : 35, 'company' : 'pocso'}]
df = pd.DataFrame(tmp_list,columns=['number','company'])
df
output:
# 딕셔너리와 map함수 이용
df.company = df.company.map({'kokoa': '코코아','nover': '노버','somsang' : '솜삼','pocso': '포크소'})
df
output:
2. apply
- map 함수와 단일 컬럼에서는 똑같이 작동하지만 다중 컬럼 같은 경우 apply만 적용가능하다.
☑️ 다중 컬럼 apply 예시
df = pd.DataFrame({'가':[1,2,3,4,5],'나':[6,7,8,9,10]})
df
output:
def a_m(a,b):
return a+b, a*b
df[['add','multiply']] = df.apply(lambda x: a_m(x['가'],x['나']),axis=1, result_type = 'expand')
df
output:
3. applymap
- applymap은 데이터프레임의 모든 값들에 함수를 적용하는 함수이다.
df = pd.DataFrame({'가':[1,2,3,4,5],'나':[6,7,8,9,10]})
df
output:
df = df.applymap((lambda x : x**2)) # 모든 값 제곱
df
output:
applymap함수를 사용하니 모든 값들이 바뀐 것을 확인할 수 있다.
728x90
728x90
'Programming > Pandas' 카테고리의 다른 글
[Pandas] 레코드, 컬럼 추가 & 삭제 (append, drop, loc) (0) | 2023.02.15 |
---|---|
[Pandas] 타입 변환(astype(), pd.to_datetime(), pd.to_numeric()) (0) | 2023.02.15 |
[Pandas] 결측값 처리(isnull(), dropna(), fillna()) (0) | 2023.02.15 |
[Pandas] 데이터 정렬(sort_values, sort_index) (0) | 2023.02.12 |
[Pandas] 조건에 맞는 데이터 추출 (0) | 2023.02.12 |