작성
·
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 메소드 자체값을 반환합니다. 혼동되지 않기 때문에 일반적으로는 잘 사용되지 않습니다.
감사합니다.