군침이 싹 도는 코딩
Python Pandas apply 본문
이 데이터 프레임을 통해 어플라이의 기능들을 살펴보자
어플라이는 판다스안에 있는 데이터에 함수를 사용하고싶을때 쓴다
특히 파이썬의 함수가 아닌 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)
# 이후 어플라이를 이용해 만든 함수를 셀러리 부분에 사용해 등급을 구분하고 그것을 그룹이란 컬럼에 저장한다
'Python > Pandas' 카테고리의 다른 글
Python pandas 특정 문자열이 있는곳 찾기 (contains) (0) | 2022.11.25 |
---|---|
Python Pandas 오름차순 내림차순 정렬 (sort) (0) | 2022.11.25 |
Python PANDAS OPERATIONS (0) | 2022.11.24 |
Python pandas카테고리컬 데이터 (0) | 2022.11.24 |
Python pandas NaN 처리 방법 (isna,notna,fillna,dropna) (0) | 2022.11.24 |