-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
해결됨
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'>
답변을 작성해보세요.
0
박조은
지식공유자2020.09.02
안녕하세요.
질문주신 내용에서 첫번째 코드는 컬럼이 하나입니다.
하나의 컬럼이 있는 상태에서 print(type(a1.loc['강원'])) 을 불러오게 되면 결과가 Series 형태로 변경되게 됩니다.
그런데 아래 데이터에서는 같은 코드를 실행했음에도 데이터프레임 형태로 나옵니다.
그 이유는 아래 데이터프레임은 멀티인덱스를 사용하기 때문입니다.
멀티인덱스의 값 하나를 가져왔기 때문에 나머지 인덱스값이 있어서 데이터프레임으로 변환이됩니다.
만약 위에 코드의 결과도 데이터프레임으로 반환하고자 하시면 [['강원']] 이렇게 2차원 리스트로 만들어주시면 됩니다.
print(type(a1.loc[['강원']]))
제가 최근 이 내용을 제 유튜브 채널에서 다뤘는데요.
다음의 영상을 참고해 보시면 도움이 될거 같아요. https://youtu.be/UQTaNegXQh0
답변 1