Pandas (10)

Tino-Kim·2022년 1월 4일
0
post-thumbnail

🥴 Pandas (10)

📌 apply

Series나 DataFrame에 좀 더 구체적인 로직을 적용하고 싶은 경우 활용한다.
반드시 apply를 쓰기 위해서는 함수의 정의가 필요하다.

def 함수명:
	if 조건1:
   		return 값
    elif 조건2:
    	return 값
    else:
    	return 값       
df["new_칼럼명"]=df["칼럼명"].apply(함수명)
  • cf. DataFrame을 통째로 넘겨주는 경우
def cm_to_brand(df):
    value=df["브랜드평판지수"]/df["키"]
    return value
cm_to_brand(cm_to_brand, axis=1)
# Series로 넘겨주는 경우에는 상관없다.
# 하지만, DataFrame이니까 axis를 지정해줘야 한다.

📌 간단한 계산식인 경우 이용하는 lambda

  • lambda를 이용하면, 한 줄로 함수를 작성할 수 있다.
  • apply를 이용할 때, 함수를 정의해줘야 했는데 재사용하지 않는 함수들은 lambda를 이용해서 간단하게 사용하고 버릴 수 있다.
lambda x:1 if x=='남자' else 0
df["성별"].apply(lambda x:1 if x=='남자' else 0)
  • 실제로는 간단한 계산식을 적용하는 경우에 많이 쓰인다.
df["새로운 칼럼명"]=df["칼럼명"].apply(lambda x:x/2)
# 새로운 칼럼명에는 2로 나눈 값으로 채워진다.

📌 map

딕셔너리 형태로 어떤 값을 어떻게 바꾸고 싶은지 적어주기.

  • key
    기존의 값
  • value
    바꾸고 싶은 값
mydict={'남자':1, '여자':0}
df["성별"].map(mydict)

😀 마무리...

  • apply + 정의된 함수
  • 한 줄로 함수를 작성해주는 lambda
    단순한 계산식을 가진 함수를 작성할 때 유용하다.
  • 값을 다른 값으로 변경해주는 map

기능을 잘 알아두고, 필요할 때 잘 사용하기~!

profile
알고리즘과 데이터 과학과 웹 개발을 공부하는 대학생

0개의 댓글