22.01.02 18:03 작성
·
226
답변 1
1
2022. 01. 02. 19:00
안녕하세요.
좋은 질문을 주셨네요!
많이 주시는 질문 중에 하나인데요.
해당 소스코드를 먼저 볼게요. 아래 링크에서 전체 소스코드를 보실 수 있습니다.
https://github.com/pandas-dev/pandas/blob/v1.3.5/pandas/core/frame.py#L570-L580
def __init__(
self,
data=None,
index: Axes | None = None,
columns: Axes | None = None,
dtype: Dtype | None = None,
copy: bool | None = None,
):
그리고 데이터프레임에 대한 위 코드를 이해하기 위해서는 어트리뷰트와 메서드를 이해하면 좋은데요.
클래스에서 index, columns, dtype은 어트리뷰트로 정의 되었기 때문에 괄호를 사용하지 않고
head(), tail(), drop() 등의 기능은 메서드로 정의 되었기 때문에 괄호를 사용합니다.
클래스에 대한 내용은 다음의 링크를 참고해 보세요!
[파이썬 코딩 도장: 35.1 클래스 속성과 인스턴스 속성 알아보기](https://dojang.io/mod/page/view.php?id=2378)
그리고 판다스의 데이터프레임과 시리즈에 대한 문서도 함께 확인해 보세요.
판다스 내부에서 옵션이 들어가지 않아도 되는 index, columns, shape 등은 API를 구현할 때 어트리뷰트로 구현이 되었다고 보면 됩니다.
시리즈 문서 [Series — pandas documentation](https://pandas.pydata.org/docs/reference/series.html)
데이터프레임 문서 [pandas.DataFrame — pandas documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html)
새해 복 많이 받으세요 :)