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

t1560325님의 프로필 이미지
t1560325

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

[17/20] pandas 의 concat 으로 두 개의 데이터프레임 하나로 합치기

df_first_melt[cols] 오류

작성

·

304

1

선생님 ㅠㅠ 제가 그 df_first_melt 하는 과정에서 오류가 나서 봤더니 제 파일에는 df_last는 지역명으로 되어있고 df_first는 지역으로 되어있어서 

df_first.rename({'지역':'지역명'}, axis=1, inplace=True)

이렇게 바꿨습니다. 그리고나서 df_first하면 지역명으로 바뀌어 나오고 df_first.columns.to_list() 이걸 했을때도 

['지역명', '2013년12월', '2014년1월', '2014년2월', '2014년3월', '2014년4월', '2014년5월', '2014년6월', '2014년7월', '2014년8월', '2014년9월', '2014년10월', '2014년11월', '2014년12월', '2015년1월', '2015년2월', '2015년3월', '2015년4월', '2015년5월', '2015년6월', '2015년7월', '2015년8월']
이렇게 나오는데  밑에 것만 하면 저렇게 지역명 index가 없다고 오류가 뜨는데 어떻게 해야할까요?

답변 8

1

t1560325님의 프로필 이미지
t1560325
질문자

아 제가 중간 실습부분에서 놓친부분이 있었네요 ㅠㅠ 정말 너무 감사합니다 드디어 풀렸네요!! 강의 항상 잘보고있습니다. 감사합니다.

1

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요.

컬럼을 변경하는 부분에서 일부 실습을 놓치시지 않았나 싶어요.

일단 df_first 에서는 melt 후에 컬럼명을 변경해 주고요. 둘다 "지역명"으로요.

df_last는 cols 라는 변수를 만들어 해당 값을 가져옵니다.

df_last 에는 지역명이라는 컬럼이 있어야 하고요.

위 스크린샷의 코드가 작성되었는지 확인해 보세요.

그리고 코드와 함께 오류메시지의 스크린샷을 함께 올려주시면 더 정확한 도움을 드릴 수 있을거 같아요.

화이팅입니다!

1

t1560325님의 프로필 이미지
t1560325
질문자

신기하게도 df_first_melt를 하면 지역 이라고 column네임이 계속 나오고 df_first.head(1)을 하면 지역 명이라고 바뀌어져 나오는데 뭐가 문제일까요?

1

t1560325님의 프로필 이미지
t1560325
질문자

그림이 잘 안보이시는거 같아서 오류 코드는 KeyError: "['지역명'] not in index" 입니다.

0

박조은님의 프로필 이미지
박조은
지식공유자

감사합니다 :)

0

t1560325님의 프로필 이미지
t1560325
질문자

제가 여기서 궁금한게 df_first에 쓰신 csv파일에 애초에 지역이 아닌 지역명으로 column 네임이 되어있으신가요? 아니면 따로 바꾸신건가요? 

0

t1560325님의 프로필 이미지
t1560325
질문자

써주신 코드를 작동시켰을때 TypeError: Cannot specify both 'axis' and any of 'index' or 'columns' 이 에러가 떠서 axis =1 을 지우고 작동시킨후 다시 df_first_melt[cols]를 했더니 이번엔 KeyError: "['월', '연도', '지역명'] not in index" 이 에러가 떠서 다시 위에 코드 연이랑 월은 실행시킨후 없앴는데 아직도 지역명은 에러가 뜨네요.. 어떻게 해야 할까요..

0

박조은님의 프로필 이미지
박조은
지식공유자

올려주신 코드는 이 코드인데요. df_first.rename({'지역':'지역명'}, axis=1, inplace=True)

위 코드가 동작하지 않았을거 같아요.

어떤 걸 rename 해야 하는지 지정해 주어야 하는데 columns를 지정해 주시면 될거 같아요.

df_first.rename(columns={'지역':'지역명'}, axis=1, inplace=True)

공식문서의 rename 사용법 입니다.

[pandas.DataFrame.rename — pandas 1.1.5 documentation](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rename.html)

t1560325님의 프로필 이미지
t1560325

작성한 질문수

질문하기