AttributeError: 'int' object has no attribute 'map'

SOOYEON·2022년 8월 31일
0

pandas

목록 보기
18/37

데이터프레임에서 월별 컬럼을 통해 계절 컬럼을 생성하기 위해 딕셔너리 생성,
apply 함수를 통해 적용했을 때 발생


# input
season = {12 : '겨울철',
          1 : '겨울철',
          2 : '겨울철',
          3 : '봄철',
          4 : '봄철',
          5 : '봄철',
          6 : '여름철',
          7 : '여름철',
          8 : '여름철',
          9 : '가을철',
          10 : '가을철',
          11 : '가을철'}

a['계절'] = a['월'].apply(lambda x : x.map(season))

# output
>> AttributeError: 'int' object has no attribute 'map'

해결방법
apply 함수에 적용할 데이터를 데이터프레임 형식으로 전달

# a[['월']]
a['계절'] = a[['월']].apply(lambda x : x.map(season))

데이터 확인

# input
a['계절'].unique()

# output
array(['겨울철', '봄철', '여름철', '가을철'], dtype=object)

# input
a.groupby(['월','계절']).mean()
  • output

참고

0개의 댓글