군침이 싹 도는 코딩

Python Pandas apply 본문

Python/Pandas

Python Pandas apply

mugoori 2022. 11. 25. 10:17

이 데이터 프레임을 통해 어플라이의 기능들을 살펴보자

어플라이는 판다스안에 있는 데이터에 함수를 사용하고싶을때 쓴다

특히 파이썬의 함수가 아닌 def를 통해 만든 함수를 사용할때 유용하다

 

 

사용법
데이터 억세스.apply(쓰고싶은함수) # 이때 함수옆에 소괄호는 쓰지않는다

 

 

# 직원의 이름 글자수를 알아내어 length 라는 컬럼에 저장해보자

df['length']=df['Employee Name'].apply(len)

 

 

 

# 직원 이름을 전부 대문자로바꿔서 upper_name 이라는 컬럼에 저장해보자

df['Employee Name'].apply(upper)
>>> NameError: name 'upper' is not defined

# 이때 어플라이를 사용하면 에러가 발생한다

이유는 어플라이는 파이썬의 함수 또는 def로 만든 함수만 사용이 가능한데

upper는 문자열의 함수로 변수.upper 로 사용하기때문에 사용할수없다.

따라서 이런 경우 문자열의 함수를 사용할수있는 str을 사용한다

 

 

사용법
데이터 억세스.str.문자열의함수()
df['upper_name']=df['Employee Name'].str.upper()

 

 

 

# 시급이 30 이상이면 A 그렇지 않으면 B라고 구분하고 Group 이란 컬럼에 저장해보자

def grouping(Salary) :
    if Salary >= 30 :
        return 'A'
    else :
        return 'B'

# 먼저 A,B를 구분할수있는 함수를 만들어준다

 

 

df['Group']=df['Salary [$/h]'].apply(grouping)

# 이후 어플라이를 이용해 만든 함수를 셀러리 부분에 사용해 등급을 구분하고 그것을 그룹이란 컬럼에 저장한다