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

HaEun Kim님의 프로필 이미지
HaEun Kim

작성한 질문수

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

판다스(Pandas) 개요와 기본 API - 02

괄호 있음과 없음의 차이에 대하여..

작성

·

724

0

안녕하세요 선생님, 강의 잘 듣고 있습니다. 

판다스에서 타이타닉예제 부분을 듣고있는데, api가 어떤때는 ()가 있고 어떤때는 없는 것 같습니다. 

1. 예를들어 head는 df.head() 이렇게 불러오고 

shape는 df.shape 이렇게 불러오는데, 어떤때 괄호가 붙고 어떤때 안붙는건가요? 

2. 주피터 노트북에서 괄호 없이 df.head 로해도 에러가 나지 않던데, df.head()와 무엇이 다른건가요..? 

이 차이가 무척이나 궁금한데 검색을 해보아도 잘 모르겠습니다.. 감사합니다. 

답변 2

0

선생님 안녕하세요.

아주 사소한 질문인데...

선생님 표는 정리된 형태(?)로 뜨는데

저는 왜 표 형태가 왜 다르게 뜨나요?

0

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

안녕하십니까,

1. ()가 있으면 객체의 메소드입니다. df.shape는 dataframe df에 있는 속성 shape값을 지칭하는 것입니다. dataframe 객체가 만들어지면, df.head(5)와 같이 메소드 head( )가 입력인자, 반환값이 정의되어 있을 수 있고, df.shape와 같이 df객체가 만들어지면 속성으로 만들어 질수도 있습니다.  이건 DataFrame 설계자 맘입니다.

2. 파이썬은 메소드에 ( )를 붙이지 않고도 객체화 할 수 있습니다. 모든것은 객체다라는 개념을 적용합니다.  df.head()는 dataframe객체의 head( )메소드를 호출합니다. 입력 인자는 안들어 갔지만, default로 5 즉 5개의 행 결과를 출력합니다.  df.head는 head( )메소드 자체를 의미합니다.

type(df.head) 해보시면 method 로 출력이 됨을 알 수 있습니다. head 메소드 자체값을 반환합니다. 혼동되지 않기 때문에 일반적으로는 잘 사용되지 않습니다.

감사합니다.

HaEun Kim님의 프로필 이미지
HaEun Kim

작성한 질문수

질문하기