• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    해결됨

pivot_table 결과 문의 - DataFrame/Series

20.09.02 19:33 작성 조회수 208

1

데이터 분석 초보입니다.

아래의 코드를 사용시 결과의 타입이 변경되는 경우가 있어서 문의 드립니다. 

이런경우는 코딩하면서 확인하는 방법만 있나요?

첫번째 그림의 결과를 dataframe 으로 변경하려면 어떻게 해야하나요?

답변 부탁드립니다. 감사합니다.

a1=df_last.pivot_table(index=['지역명'], columns=['연도'], values=['평당분양가격']).round()
# a1=df_last.pivot_table(index=['지역명','연도'], values=['평당분양가격']).round()
print(type(a1))
print(type(a1.loc['강원']))
a1.loc['강원']

<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.series.Series'>

# a1=df_last.pivot_table(index=['지역명'], columns=['연도'], values=['평당분양가격']).round() a1=df_last.pivot_table(index=['지역명','연도'], values=['평당분양가격']).round() print(type(a1)) print(type(a1.loc['강원'])) a1.loc['강원']

<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.frame.DataFrame'>
 

답변 1

답변을 작성해보세요.

0

안녕하세요.

질문주신 내용에서 첫번째 코드는 컬럼이 하나입니다.

하나의 컬럼이 있는 상태에서 print(type(a1.loc['강원'])) 을 불러오게 되면 결과가 Series 형태로 변경되게 됩니다.

그런데 아래 데이터에서는 같은 코드를 실행했음에도 데이터프레임 형태로 나옵니다.

그 이유는 아래 데이터프레임은 멀티인덱스를 사용하기 때문입니다.

멀티인덱스의 값 하나를 가져왔기 때문에 나머지 인덱스값이 있어서 데이터프레임으로 변환이됩니다.

만약 위에 코드의 결과도 데이터프레임으로 반환하고자 하시면 [['강원']] 이렇게 2차원 리스트로 만들어주시면 됩니다.

print(type(a1.loc[['강원']]))

제가 최근 이 내용을 제 유튜브 채널에서 다뤘는데요. 

다음의 영상을 참고해 보시면 도움이 될거 같아요.  https://youtu.be/UQTaNegXQh0