< APPLYING FUNCTIONS >
# 데이터 가공할때 사용 ! => 기존의 데이터를 가지고 새로운 컬럼을 만들때 많이 사용
# 고급 함수로 데이터 분석시에 굉장히 중요한 개념
# 이전장 예제에서 사용하였던 데이터를 가지고 실행
# 시급이 30 이상이면 'A' 이고 그렇지 않으면 'B' 라고 해라. = 조건문
// 이전 실습 예시에서 일정 수치보다 큰 데이터를 가져와라 라는것과는 다름
# salary >= 30 :
# print('A')
# else :
# print('B')
# 이런 결과를 얻고 싶은것이기 때문에 함수로 만들어서 사용한다.
# 예로 35인 그룹은 A로 28인 그룹은 B가 되도록 코드 블록을 만들고 싶다.
#get_group(35)
# 'A'
#get_group(28)
# 'B'
# 이러한 결과가 되도록 실제로 만들어 보자.
# 판다스의 컬럼에 적용하기 위한 함수를 작성한다.
# 함수작성은, 함수 호출을 먼저 적어놓고, 함수를 정의한다.
# def 로 함수를 정의하여 get_group는 호출명으로 함수를 만들어냄
def get_group(salary):
if salary >= 30:
return 'A'
else :
return 'B'
# 내가 만든 함수 적용해줘 .apply()
# 없는 기능이면 def를 활용하여 내가 함수를 만들어내고, 이미 존재하는 함수면 적어주면 된다.
df['Salary [$/h]'].apply( get_group )
0 A
1 B
2 A
3 B
Name: Salary [$/h], dtype: object
# 적용한 값을 원본 데이터에 집어넣어서 등급을 비교할수도 있다.
# group 라는 컬럼을 생성하여 새로 만든 함수 결과값을 집어넣어준다.
df['group'] = df['Salary [$/h]'].apply( get_group )
ㄴ 새로 집어넣은 컬럼은 제일 우측에 생성 된다.
# 원래 있는 함수를 적용할때는 함수명을 .apply () 안에 넣어주면 된다.
# 이름 길이라는 의미의 컬럼을 생성하고, 자체함수인 len을 적어서 원본데이터에 넣어보자.
df['name_len'] = df['Employee Name'].apply ( len )
< 문자열 판다스 함수 >
# 문자열만 다루는 판다스 함수가 따로 존재한다.
# https://pandas.pydata.org/docs/reference/api/pandas.Series.str.upper.html 참고
# 대문자 .upper()
df['Employee Name'].str.upper()
0 CHANEL
1 STEVE
2 MITCH
3 BIRD
Name: Employee Name, dtype: object
# 문자열 개수 (길이)
df['Employee Name'].str.len()
0 6
1 5
2 5
3 4
Name: Employee Name, dtype: int64
다음장에서 계속
'PYTHON LIBRARY > Pandas Library' 카테고리의 다른 글
Pandas를 활용한 데이터 연결과 병합 : concat()과 merge()의 비교 (0) | 2024.04.14 |
---|---|
Pandas로 데이터 정렬하기 : sort_values()와 sort_index() 활용법 (0) | 2024.04.14 |
Pandas Operations 예제 : 데이터 필터링과 분석 .loc(), .iloc(), 조건부 기호 &, | 활용 (0) | 2024.04.14 |
Python Pandas 카테고리컬 데이터 다루기 : groupby() , agg(), value_counts() 함수 활용 (0) | 2024.04.12 |
Python Pandas로 결측치 데이터 처리하기: NaN 처리 isna(), notna(), dropna(), fillna() (0) | 2024.04.11 |