수색…


비고

Scipy 정보

SciPy는 Python의 Numpy 확장을 기반으로하는 수학적 알고리즘 및 편리한 함수의 모음입니다. 그것은 데이터 조작 및 시각화를위한 고급 명령 및 클래스를 사용자에게 제공하여 대화식 Python 세션에 중요한 기능을 추가합니다. SciPy를 사용하면 대화 형 Python 세션이 MATLAB, IDL, Octave, R-Lab 및 SciLab과 같은 시스템에 필적하는 데이터 처리 및 시스템 프로토 타이핑 환경이됩니다.

Python에서 SciPy를 기반으로하는 또 다른 이점은 정교한 프로그램 및 특수 응용 프로그램을 개발할 때 강력한 프로그래밍 언어를 사용할 수 있다는 것입니다. SciPy를 사용하는 과학 응용 프로그램은 전 세계의 개발자가 소프트웨어 환경에서 수많은 틈새에 추가 모듈을 개발할 수있는 이점이 있습니다. 병렬 프로그래밍에서 웹 및 데이터베이스 서브 루틴 및 클래스에 이르기까지 모든 것이 Python 프로그래머에게 제공되었습니다. SciPy의 수학 라이브러리 외에도이 모든 기능을 사용할 수 있습니다.

버전

번역 출시일
0.19.0 2017-03-09
0.18.0 2016-07-25
0.17.0 2016-01-22
0.16.1 2015-10-24
0.16.0 2015-07-23
0.16b2 2015-05-24
0.16b1 2015-05-12
0.15.1 2015-01-18
0.15.0 2015-01-11
0.14.1 2014-12-30
0.14.1rc1 2014-12-14
0.14.0 2014-05-03
0.14.0rc2 2014-04-23
0.14.0rc1 2014-04-02
0.14.0b1 2014-03-15
0.13.3 2014-02-04
0.13.2 2013-12-07
0.13.1 2013-11-16
0.13.0 2013-10-19
0.13.0rc1 2013-10-10
0.12.1 2013-10-08
0.12.0 2013-04-06
0.12.0rc1 2013-03-29
0.12.0b1 2013-02-16
0.11.0 2012-09-24
0.11.0rc2 2012-08-12
0.11.0rc1 2012-07-17
0.11.0b1 2012-06-12
0.10.1 2012-02-26
0.10.1rc2 2012-02-19
0.10.1rc1 2012-02-10
0.10.0 2011-11-13
0.10.0rc1 2011-11-03
0.10.0b2 2011-09-16
0.10.0b1 2011-09-11
0.9.0 2011-02-27

설치 또는 설정

Scipy에는 C, C ++ 및 Fortran으로 작성된 부분이 있으며 사용하기 전에 컴파일해야합니다. 따라서 필요한 컴파일러와 Python 개발 헤더가 설치되어 있는지 확인하십시오. 컴파일 된 코드를 갖는 것은 또한 Scipy가 아래에 설명 된 개발 소스에서 가져 오기위한 추가 단계가 필요함을 의미합니다.

Github의 기본 Scipy 저장소 사본을 자신의 계정에 포킹 한 다음 다음을 통해 로컬 저장소를 만듭니다.

$ git clone [email protected]:YOURUSERNAME/scipy.git scipy
$ cd scipy
$ git remote add upstream git://github.com/scipy/scipy.git

Scipy의 개발 버전을 빌드하고 테스트를 실행하려면 파이썬 가져 오기 경로가 올바르게 설정되어있는 대화 형 쉘을 생성하십시오. 다음 중 하나를 수행하십시오.

$ python runtests.py -v
$ python runtests.py -v -s optimize
$ python runtests.py -v -t scipy/special/tests/test_basic.py:test_xlogy
$ python runtests.py --ipython
$ python runtests.py --python somescript.py
$ python runtests.py --bench

이것은 처음부터 Scipy를 빌드하므로 처음에는 시간이 좀 걸릴 수 있습니다. -n 을 지정하면 현재 PYTHONPATH에있는 Scipy 버전 (있는 경우)에 대한 테스트가 실행됩니다.

실행중인 테스트에 권장되는 방법은 runtests.py를 사용하는 것입니다. 예를 들어, 가상 환경에 대한 현재 위치 빌드 또는 설치와 같은 여러 가지 대안이 있습니다. 일부 테스트는 매우 느리고 별도로 활성화해야합니다.

API 링크

우분투 및 데비안

명령 실행

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

Ubuntu 12.10 이상의 버전과 Debian 7.0 이상은 현재 SciPy 스택 사양을 충족합니다. 사용자는 추가 SciPy 패키지를위한 NeuroDebian 저장소를 추가 할 수도 있습니다.

SciPy를 사용하여 스파 스 매트릭스를 고밀도 매트릭스로 변환

 from scipy.sparse import csr_matrix
 A = csr_matrix([[1,0,2],[0,3,0]])
 >>>A
 <2x3 sparse matrix of type '<type 'numpy.int64'>'
    with 3 stored elements in Compressed Sparse Row format>
 >>> A.todense()
   matrix([[1, 0, 2],
           [0, 3, 0]])
 >>> A.toarray()
      array([[1, 0, 2],
            [0, 3, 0]])

버전

SciPy의 첫 번째 릴리스 (vsn 0.10)는 2001 년 8 월 14 일에 릴리스되었습니다. SciPy의 현재 릴리스 (2016 년 7 월 26 일 수정)는 v.18 (v.18)과 함께 곧 0.17 (stable)입니다. 이전 릴리스의 세부 정보는 여기 에 나열되어 있습니다.

Scipy를 사용한 이미지 조작 (기본 이미지 크기 조정)

SciPy는 기본적인 이미지 조작 기능을 제공합니다. 여기에는 디스크에서 이미지를 numpy 배열로 읽고 numpy 배열을 이미지로 디스크에 쓰고 이미지 크기를 조정하는 기능이 포함됩니다.

다음 코드에서는 하나의 이미지 만 사용됩니다. 착 색되고 크기가 조정되고 저장됩니다. 원본 이미지와 결과 이미지는 다음과 같습니다.

import numpy as np  //scipy is numpy-dependent

from scipy.misc import imread, imsave, imresize   //image resizing functions

# Read an JPEG image into a numpy array
img = imread('assets/cat.jpg')
print img.dtype, img.shape  # Prints "uint8 (400, 248, 3)"

# We can tint the image by scaling each of the color channels
# by a different scalar constant. The image has shape (400, 248, 3);
# we multiply it by the array [1, 0.95, 0.9] of shape (3,);
# numpy broadcasting means that this leaves the red channel unchanged,
# and multiplies the green and blue channels by 0.95 and 0.9
# respectively.
img_tinted = img * [1, 0.95, 0.9]

# Resize the tinted image to be 300 by 300 pixels.
img_tinted = imresize(img_tinted, (300, 300))

# Write the tinted image back to disk
imsave('assets/cat_tinted.jpg', img_tinted)

기발한 resized_tinted

참고

기본 Hello World

텍스트 에디터 나 파이썬 에디터에 파일 (예 : hello_world.py)을 설치하십시오 (설치 하지 않은 경우 SublimeText, Eclipse, NetBeans, SciTe ... 하나만 선택하십시오!)

hwld = 'Hello world'
print(hwld)

파이썬 변수는 명시 적으로 선언 할 필요가 없습니다. 변수에 등호 (=) 부호로 값을 할당하면 선언이 수행됩니다.

위 두 줄의 코드 출력은 "Hello World"문자열이 표시됩니다.

파이썬으로 작성된 함수는 iPython에서도 사용할 수 있습니다.

이 경우 IPython에서 저장된 파일 'hello_world.py'를 다음과 같이 실행할 수 있습니다.

In [1]: %run hello_world.py  
#run file to get output below
Hello world
In [2]: wld   
#show what value of wld var is
Out[2]: 'Hello world'
In [3]: %whowld  
#display info on variable wld (name/type/value)

Variable     Type     Data/Info
----------------------------
wld         str     Hello world

원하는 경우 두 변수를 사용할 수 있습니다 (예 : 안녕하세요 하나는 세계). 더하기 (+) 기호를 사용하여 연결하십시오.

 h = 'Hello '
 w = "world!'
 print(h+w)

 #this will also output Hello World, only this time with an exclamation mark..


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow