인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

능함가님의 프로필 이미지

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

판다스 Index객체 이해

갑자기 데이터 프레임이 되는 이유

작성

·

79

0

기존 14:20초 부근에서
titanic_df['Pclass'].value_counts().reset_index()
를 실행했을때 출력되는 모양(그냥 텍스트 형태)로 나오는 것과
15:18 부근 코드는 같은데 테이블 형태로 나오는 것의 차이는 무엇인가요?

답변 2

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

질문을 제가 잘 이해했나 모르겠습니다.

Jupyter Notebook은 print() 함수를 사용하지 않고 그냥 DataFrame 객체만 적어주게 되면, DataFrame을 Jupyter Notebook에 기본 지정된 스타일링을 적용하여 표현하게 됩니다.

그래서 print(new_value_counts_01.rename(...)) 하지 않고 그냥 new_value_counts_01.rename(...) 하게 되면 DataFrame 스타일링이 되어서 출력되게 됩니다.

원하시는 답변이 아니면, 다시 글 부탁드립니다.

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 능함가님.

질문하신 내용은 pandas 라이브러리의 출력 형식과 관련이 있습니다. value_counts() 함수는 기본적으로 Pandas의 Series 객체를 반환합니다. reset_index()를 사용하여 이 Series를 데이터프레임 형식으로 변환할 수 있습니다.

원인 분석:

  1. 텍스트 형태: value_counts()는 특정 열에서 값의 수를 세고, 그 결과를 내림차순으로 정렬한 Series 객체를 반환합니다. Series는 단일 컬럼 데이터로, 이를 출력하면 단순한 텍스트 형태로 나타납니다.

  2. 데이터프레임 형태: reset_index()를 사용하면 인덱스가 다시 정렬되며, 이러한 인덱스를 새로운 컬럼으로 이동시켜 DataFrame으로 만듭니다. DataFrame은 여러 열로 구성된 데이터 형식이며, 이 때문에 출력이 테이블 형태로 보입니다.

실례:

  • titanic_df['Pclass'].value_counts()Series로 나오며, 각 클래스별 승객 수를 보여줍니다.
  • titanic_df['Pclass'].value_counts().reset_index()를 하게 되면, 이 결과는 인덱스와 함께 데이터프레임 형태로 변환되어, 보다 읽기 편한 테이블 형태로 보입니다.

관련 강의를 다시 확인해 보시면 이 부분이 좀 더 명확하게 이해되실 겁니다.

관련해서 자세히 설명된 게시물도 있습니다:
- 타이타닉 csv파일을 불러올때 Series와 DataFrame의 차이

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.