[Pandas] 함수나 매핑으로 데이터 변형하기

J Lee·2025년 1월 6일
0

7.2.2 함수나 매핑으로 데이터 변형하기

데이터를 다루다 보면
DataFrame의 열이나 Series, 배열 내의 값을 기반으로
데이터의 형태를 변형해야 할 필요를 느낄 때가 있다. 예를 들어,


이렇게 생긴 데이터프레임이 있다고 하자.
여기에 해당 육류의 원재료를 알려주는 열을 하나 추가하고 싶다고 치자.
(merge를 써도 되긴 하지만)
이 때, 품목별 원재료 데이터를 담은 딕셔너리를 먼저 만들어 준다.

그리고 Series의 map 메서드를 활용해서
data에 새로운 컬럼인 animal을 추가해 줄 수 있다.

이 때, 여기서는 apply를 쓸 수 없다는 점에 주의해야 한다.
apply에 딕셔너리를 바로 전달하는 것은 불가능하기 때문.
apply를 쓰고 싶으면 이전 포스팅에서 봤던 대로
함수를 인자로 넘겨야 한다. 즉,

이런 형태로 쓰는 것은 가능하다.
이 때, meat_to_animal은 딕셔너리이기 때문에
함수처럼 호출될 수 없다. 따라서, 딕셔너리를 함수처럼 쓰기 위해
딕셔너리의 key를 검색할 수 있도록 [] 대괄호로 감싸줘야 한다.
(소괄호로 호출하면 에러가 남)

map은 apply보다 유연한 메서드이기 때문에
입력으로 함수뿐만 아니라 딕셔너리도 받을 수 있다.

profile
기본기를 소홀히 하지 말자

0개의 댓글

관련 채용 정보