Ricerca…


Osservazioni

A proposito di Scipy

SciPy è una raccolta di algoritmi matematici e funzioni di comodità basate sull'estensione di Python di Numpy. Aggiunge un significativo potere alla sessione interattiva di Python fornendo all'utente comandi e classi di alto livello per manipolare e visualizzare i dati. Con SciPy una sessione Python interattiva diventa un ambiente di elaborazione dati e di prototipazione di sistemi che rivaleggia con sistemi come MATLAB, IDL, Octave, R-Lab e SciLab.

L'ulteriore vantaggio di basare SciPy su Python è che questo rende anche un potente linguaggio di programmazione disponibile per l'uso nello sviluppo di programmi sofisticati e applicazioni specializzate. Le applicazioni scientifiche che utilizzano SciPy traggono vantaggio dallo sviluppo di moduli aggiuntivi in ​​numerose nicchie del panorama del software da parte degli sviluppatori di tutto il mondo. Tutto, dalla programmazione parallela alle sottorubriche e alle classi web e di database sono stati resi disponibili al programmatore Python. Tutto questo potere è disponibile in aggiunta alle librerie matematiche in SciPy.

Versioni

Versione Data di rilascio
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

Installazione o configurazione

Scipy contiene parti scritte in C, C ++ e Fortran che devono essere compilate prima dell'uso. Quindi assicurati che siano installati i compilatori e gli header di sviluppo Python necessari. Avere compilato il codice significa anche che Scipy necessita di ulteriori passaggi per importare da fonti di sviluppo, che sono spiegate di seguito.

Inserisci una copia del repository Scipy principale in Github sul tuo account, quindi crea il tuo repository locale tramite:

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

Per creare la versione di sviluppo di Scipy ed eseguire test, generare spawn interattive con i percorsi di importazione Python configurati correttamente e così via. Effettuare una delle seguenti operazioni:

$ 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

Questo prima costruisce Scipy, quindi potrebbe volerci un po 'di tempo la prima volta. Specificando -n eseguiranno i test sulla versione di Scipy (se presente) trovata sul PYTHONPATH corrente.

L'utilizzo di runtests.py è l'approccio consigliato all'esecuzione dei test. Ci sono anche una serie di alternative ad esso, ad esempio la creazione sul posto o l'installazione in un ambiente virtuale. Alcuni test sono molto lenti e devono essere abilitati separatamente.

Collegamento all'API

Ubuntu e Debian

Esegui comando

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

Le versioni in Ubuntu 12.10 o successive e Debian 7.0 o successive soddisfano le attuali specifiche dello stack SciPy. Gli utenti potrebbero anche voler aggiungere il repository NeuroDebian per pacchetti SciPy aggiuntivi.

Converti una matrice sparsa in una matrice densa usando 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]])

versioni

La prima versione di SciPy, vsn 0.10, è stata rilasciata il 14 agosto 2001. L'attuale versione di SciPy (corretta al 26 luglio 2016) è v 0.17 (stabile) con il prossimo v .18. I dettagli delle precedenti versioni sono elencati qui

Manipolazione delle immagini con Scipy (ridimensionamento dell'immagine di base)

SciPy fornisce le funzioni base di manipolazione delle immagini. Questi includono funzioni per leggere le immagini dal disco in array numpy, per scrivere array di numpy sul disco come immagini e per ridimensionare le immagini.

Nel seguente codice, viene utilizzata solo un'immagine. È colorato, ridimensionato e salvato. Sia le immagini originali che quelle risultanti sono mostrate di seguito:

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)

originale resized_tinted

Riferimento

Basic Hello World

Crea un file (ad esempio hello_world.py) in un editor di testo o in un editor python se ne hai uno installato ( scegli uno se non lo fai - SublimeText, Eclipse, NetBeans, SciTe ... ce ne sono molti!)

hwld = 'Hello world'
print(hwld)

Si noti che le variabili python non devono essere dichiarate esplicitamente; la dichiarazione avviene quando si assegna un valore con il segno uguale (=) a una variabile.

L'output delle due righe di codice sopra è che verrà visualizzata la stringa "Hello World".

Anche le funzioni scritte in Python possono essere utilizzate in iPython.

In questo caso, puoi utilizzare il file salvato "hello_world.py" in IPython, ad esempio:

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

Se lo desideri, puoi utilizzare due variabili, ad esempio una per ciao e una per mondo e concatenarle usando il segno più (+):

 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow