인프런 커뮤니티 질문&답변

이재환님의 프로필 이미지
이재환

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

람다 관련 질문이요 ㅠ

해결된 질문

작성

·

159

0

데이터마님에 전처리100문제 훑어보고 있어요

람다식이 있어서 시험환경 문제1의 데이터로 응용해서 해보려니 안되네요 ㅠㅠ

그냥 딕셔너리 형태를 넣으면 되구요...

help에서는 딕셔너리 아니면 시리즈를 넣으라고 되어있는데 그래서 안되는건지...

 

 

a.cyl = a.cyl.astype('object')

dic = {

'4' : 'N',

'6' : 'a',

'8' : 'b'

}

a['newcyl'] =a.cyl.map(dic)

print(a.cyl)

 


a['newcyl'] =a.cyl.map(lambda x: dic[x])

 

 

> Makefile:6: recipe for target 'py3_run' failed

make: *** [py3_run] Error 1

Traceback (most recent call last):

File "/goorm/Main.out", line 18, in <module>

a['newcyl'] =a.cyl.map(lambda x: dic[x])

File "/usr/local/lib/python3.9/dist-packages/pandas/core/series.py", line 4237, in map

new_values = self._map_values(arg, na_action=na_action)

File "/usr/local/lib/python3.9/dist-packages/pandas/core/base.py", line 880, in mapvalues

new_values = map_f(values, mapper)

File "pandas/_libs/lib.pyx", line 2870, in pandas._libs.lib.map_infer

File "/goorm/Main.out", line 18, in <lambda>

a['newcyl'] =a.cyl.map(lambda x: dic[x])

KeyError: 6

 


help

 

map(arg, na_action=None) -> 'Series' method of pandas.core.series.Series instance

Map values of Series according to an input mapping or function.

Used for substituting each value in a Series with another value,

that may be derived from a function, a ``dict`` or

a :class:`Series`.

Parameters

----------

arg : function, collections.abc.Mapping subclass or Series

Mapping correspondence.

na_action : {None, 'ignore'}, default None

If 'ignore', propagate NaN values, without passing them to the

mapping correspondence.

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

a.cyl가 어떤 데이터인지 알 수가 없어 문제가 무엇인지 알기가 어렵네요!

혹시 숫자 형태였다면 아래처럼 해야 하지 않을까 싶어요~!

dic = {

4 : 'N',

6 : 'a',

8 : 'b'

}

이재환님의 프로필 이미지
이재환
질문자

답변 감사합니다. astype 하지않고 알려주신 방법으로도 작동 확인하였습니다.

데이터는 시험환경 작업형1에 내장되어있는 데이터입니다. map(dic) 이 되니 람다는 남은 진도를 다 빼고 다음번에 숙지해야 될 것 같네요.

이재환님의 프로필 이미지
이재환

작성한 질문수

질문하기