• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    해결됨

df.loc[3, 'a']의 tpye이 numpy인 이유가 궁금합니다.

20.12.27 09:57 작성 조회수 84

2

선생님 안녕하세요. 강의 너무 좋습니다.

오늘 공부하다가 궁금한 점이 생겼는데요,

df.loc[3, 'a']의 tpye을 출력해보면, numpy로 나오는 이유가 궁금합니다.

df에서 어떤 column이나 어떤 index의 tpye을 출력하면 series나 DataFrame으로 출력되는데,

하나의 값, 즉 어떤 값을 특정할 때는 왜 type이 numpy로 출력되는지 궁금합니다.

 

답변 1

답변을 작성해보세요.

1

안녕하세요.

좋은 질문을 주셨네요.

판다스 내부는 여러 라이브러리로 되어 있는데요. 대표적인 라이브러리가 numpy와 matplotlib, scipy 등이 있습니다.

numpy는 파이썬의 대표적인 수치계산 라이브러리인데요.

파이썬 과학계산 생태계는 numpy의 역할이 커요.

파이썬은 보통 느리다는 단점이 있는데 numpy는 내부에서 c로 되어 있기 때문에 연산이 빠릅니다.

판다스는 이런 넘파이를 데이터 분석용으로 인터페이스를 만든 라이브러리라고 볼 수 있어요.

넘파이를 좀 더 사용하기 쉽게 추상화를 해 놓은 라이브러리에요.

그래서 데이터프레임.values 와 같은 값을 출력해 봐도 넘파이의 array 형태로 출력되게 됩니다.

마치 시각화 도구 seaborn 이 matplotlib을 사용하기 쉽게 만들어 놓은 것처럼

pandas도 numpy를 사용하기 쉽게 자주 사용하는 기능을 모아놨다고 생각하면 될거에요.

그래서 and, or  연산을 할때도 &, | 와 같은 비트연산을 하게 되는데 

넘파이의 벡터연산을 하기 때문이에요. 물론 속도도 파이썬의 반복문을 사용하는 것보다 엄청 빠르고요.

텐서플로우나 파이토치 같은 딥러닝 라이브러리도 numpy의 다차원 행렬을 다루기 쉽게 만들어 놓은 도구입니다.

그래서 해당 라이브러리도 내부가 대부분 numpy로 구현되어 있습니다.