문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 NumPy (문단 편집) == 다른 Python 패키지와의 관계 == * Scipy (싸이파이 = 싸이언스 + 파이썬) Numpy와 Scipy는 서로 떨어질 수 없을 정도로 밀접한 관계에 있으며 Scipy를 활용할 때에는 상당히 많이 Numpy를 이용하게 된다. 실제로 Scipy에 관한 책을 구매했을 때 책의 앞부분은 Scipy 관련 내용보다는 오히려 Numpy의 기초에 대한 내용 위주로 보게 되는 경우가 많다. Scipy는 수치해석시 Numpy를 보다 본격적으로 이용할 수 있게 해 준다. 사실 대학 학부 수준의 수치해석 교재에 있는 여러 수치 미분법이나 수치 적분법, 수치미분방정식 해법(룽게-쿠타 방법 등)을 구현하는 데에는 전적으로 Python 기본 메서드와 Numpy만으로 충분하다. 그렇지만 Scipy를 이용하면 Numpy만으로는 길게 코딩해야 하는 기법들을 단 2~3줄에 구현할 수 있다. 게다가 Numpy로 구현하기 막막하거나 사실상 불가능한 것들도 Scipy로는 쉽게 결과를 얻을 수 있다. 따라서 Numpy와 Scipy를 적절하게 혼용하게 되면 [[MATLAB]] 부럽지 않은 수치해석 툴을 얻은 셈이 된다. * Sympy (심파이 = 심볼 + 파이썬) Python의 대표적인 기호계산 패키지인 Sympy도 Numpy와 잘 연동된다. 예컨대 Numpy만으로 구현하기 까다로운 함수의 경우, Sympy로 원하는 함수를 구하고, 이 함수를 바탕으로 Numpy를 이용하여 그 함수를 기반으로 배열형 자료를 구할 수 있다. 어떤 sympy 함수를 일단 구하기만 하면, {{{f = sympy.lambdify(정의역 문자, sympy 함수, 'numpy')}}} 꼴의 간단한 코딩만으로 Numpy에 적용가능한 함수 f를 얻을 수 있다. 여기에서 {{{f(np.linspace(0,1, 101))}}}를 입력하면 함수에 대해 0에서 1까지 100등분한 정의역 점들에 대한 함숫값들의 배열을 얻는다. 간혹 Numpy 자체나 Scipy만으로 구하기 어려운 함수도 Sympy로는 간결하게 구할 수 있는 경우도 많으므로 Numpy와 Sympy를 같이 배워두면 여러모로 쓸모가 많다. * Matplotlib 파이썬에서 널리 사용되는 그래픽 패키지인 Matplotlib에서도 Numpy는 자주 애용된다. 물론 파이썬에 기본적으로 내장된 리스트형 자료로도 충분히 수많은 종류의 데이터를 그래프화할 수 있다. 그러나 아무래도 Numpy를 쓸 때보다는 코드가 굉장히 복잡해지고, 그래프를 얻는 속도도 느리다. 실제로 인터넷 상의 Matplotlib 튜토리얼이나 예제들을 봐도 다들 Numpy의 ndarray 자료형을 쓰지 리스트형은 잘 쓰지 않는다. 당연하지만 Matplotlib를 기반으로 좀 더 유려한 그래프와 도표를 얻는 seaborn과 같은 패키지에도 굉장히 유용하게 쓰인다. * [[Pandas]] Pandas는 Numpy보다 더 복잡한 형태의 자료(Series, DataFrame)를 다루지만, Numpy를 이용해 만든 array 자료를 이용해서 Series나 DataFrame 자료를 생성하거나 수정할 수 있다. 실제로는 'Numpy + 다른 한 개의 패키지' 조합뿐만 아니라 'Numpy + 여러 개의 패키지' 조합을 쓸 때가 많다. 예컨대 Sympy로 함수의 [[라플라스 변환]]을 구하고, Numpy를 이용해서 변환한 함수의 값들에 대한 배열형 자료를 얻고, 이 배열형 자료를 바탕으로 Matplotlib을 써서 그래프를 그릴 수 있다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기