numpy, scipy, matplotlib와 pylab의 혼동


132

Numpy, scipy, matplotlib 및 pylab은 과학 계산에 파이썬을 사용하는 사람들 사이에서 일반적인 용어입니다.

나는 단지 pylab에 대해 조금 배우고 혼란스러워했습니다. numpy를 가져올 때마다 항상 다음을 수행 할 수 있습니다.

import numpy as np

나는 단지 한 번 생각하면

from pylab import *

numpy도 가져옵니다 ( np별명 포함). 기본적으로 두 번째는 첫 번째에 비해 더 많은 일을합니다.

묻고 싶은 것이 몇 가지 있습니다 :

  1. pylab이 numpy, scipy 및 matplotlib의 래퍼 일 뿐입니 까?
  2. np는 pylab의 numpy 별칭이므로 pylab의 scipy 및 matplotlib 별칭은 무엇입니까? (내가 아는 한, plt는 matplotlib.pyplot의 별칭이지만 matplotlib 자체의 별칭은 알 수 없습니다)

4
일반적으로 스타일 메모에서 대화 형 셸 외부에서 pylab (및 * 가져 오기)을 사용하지 마십시오. Pylab은 어쨌든 matplotlib에 대한 이상한 부록입니다.
seberg

@unutbu : 링크를 주셔서 감사합니다. 나는 또한 scipy이 pylab에 완전히 다른 모듈, 따라서 관련이 의미한다고 생각
goFrendiAsgard

4
@goFrendiAsgard : pylab이 무엇을 가져 오는지 정확하게 살펴볼 수 있습니다 /usr/lib/pymodules/python2.7/matplotlib/pylab.py(Windows 또는 OSX의 경우 정확한 경로가 약간 다릅니다. 찾는 데 도움이 필요한지 문의하십시오)
unutbu

고마워, 그게 내가 찾는거야. pylab은 matlab에 사용하는 사람들을위한 래퍼이기 때문에 더 많은 "pythonic"방식을 사용할 것이라고 생각합니다.
goFrendiAsgard

답변:


129
  1. 아니, pylab의 일부입니다 matplotlib(에 matplotlib.pylab) 당신에게 환경과 같은 매트랩을 제공하려고합니다. 공통 별명으로 가져 오는 matplotlib많은 종속성이 있습니다 . 의 종속성이 아닙니다 .numpynpscipymatplotlib

  2. ipython --pylab자동 가져 오기 를 실행 하면 모든 기호가 matplotlib.pylab전역 범위에 배치됩니다. 당신이 쓴 것처럼 별칭으로 numpy가져옵니다 np. 의 기호 matplotlibmpl별칭 아래에서 사용할 수 있습니다 .


9
@ Benjamin Bannier이게 뭐죠 -wiki.scipy.org/PyLab ? 이것은 나를 혼란스럽게한다.
shahensha

@ shahensha, 두 개의 PyLab 이있는 것처럼 들립니다. "... 이 페이지에 표현 된 새로운 PyLab 의 비전 과 matplotlib의 일부인 기존 pylab 패키지의 차이점 "
The Red Pea

15

Scipy와 numpy 는 효율적이고 빠른 수치 계산을 파이썬으로 가져 오는 것을 목표로하는 과학 프로젝트입니다.

Matplotlib 는 파이썬 플로팅 라이브러리의 이름입니다.

Pyplot 은 matplotlib 용 대화식 API이며 주로 jupyter와 같은 노트북에 사용됩니다. 일반적으로 다음과 같이 사용하십시오 import matplotlib.pyplot as plt.

Pylabpyplot 과 동일하지만 추가 기능이 있습니다 (현재는 사용하지 않는 것이 좋습니다).

  • pylab = pyplot + numpy

자세한 내용은 여기를 참조하십시오 : Matplotlib, Pylab, Pyplot 등 : 이것들과 각각의 사용 시점의 차이점은 무엇입니까?


2
또 다른 예는하기 matplotlib의 사이트에 직접 게시 ? "하기 matplotlib, pyplot과 pylab : 그들은 어떻게 관련되는지를이 Matplotlib는 IS 전체 패키지 , matplotlib.pyplot모듈입니다 하기 matplotlib에서가 , 그리고 pylab설치되는 모듈입니다 하기 matplotlib 함께. "
레드 완두콩에게

3

pylab인터넷을 통해 예제를 사용하기 때문에 나와 같은 일부 사람들은 여전히 ​​pylab 사용에 대해 혼란 스러울 수 있으므로 공식 matplotlib FAQ의 인용문은 다음과 같습니다.

pylab은 단일 네임 스페이스에서 matplotlib.pyplot (플롯 팅) 및 numpy (수학 및 배열 작업)를 대량으로 가져 오는 편리한 모듈입니다. 많은 예제가 pylab을 사용하지만 더 이상 권장되지 않습니다.

TL; DR; pylab, period를 사용하지 않습니다. 필요에 따라 별도로 사용 pyplot하고 가져옵니다 numpy.

다음은 추가 정보 및 기타 유용한 예에 대한 링크 입니다.


1
최근에 pylab을 열었고 내가 본 것에 대해 공포에 빠졌습니다. 이것이 어떻게 정상적으로 받아 들여졌습니까?
eric

그렇습니다.
jamescampbell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.