Recherche…


Remarques

À propos de Scipy

SciPy est un ensemble d’algorithmes mathématiques et de fonctions pratiques basés sur l’extension Numpy de Python. Il ajoute une puissance significative à la session Python interactive en fournissant à l'utilisateur des commandes et des classes de haut niveau pour manipuler et visualiser les données. Avec SciPy, une session Python interactive devient un environnement de traitement de données et de prototypage rivalisant avec des systèmes tels que MATLAB, IDL, Octave, R-Lab et SciLab.

L'avantage supplémentaire de baser SciPy sur Python est que cela rend également un langage de programmation puissant disponible pour le développement de programmes sophistiqués et d'applications spécialisées. Les applications scientifiques utilisant SciPy bénéficient du développement de modules supplémentaires dans de nombreux niches du paysage logiciel par des développeurs du monde entier. Tout, de la programmation parallèle aux sous-programmes et classes Web et de base de données, a été mis à la disposition du programmeur Python. Toute cette puissance est disponible en plus des bibliothèques mathématiques de SciPy.

Versions

Version Date de sortie
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-16
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

Installation ou configuration

Scipy contient des parties écrites en C, C ++ et Fortran qui doivent être compilées avant utilisation. Par conséquent, assurez-vous que les compilateurs et les en-têtes de développement Python nécessaires sont installés. Avoir du code compilé signifie également que Scipy a besoin d'étapes supplémentaires pour importer depuis des sources de développement, qui sont expliquées ci-dessous.

Placez une copie du dépôt Scipy principal dans Github sur votre propre compte, puis créez votre référentiel local via:

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

Pour générer la version de développement de Scipy et exécuter des tests, générez des shells interactifs avec les chemins d'importation Python correctement configurés, etc. Effectuez l'une des actions suivantes:

$ 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

Cela construit d'abord Scipy, donc cela peut prendre un certain temps la première fois. Si vous spécifiez -n , les tests seront exécutés par rapport à la version de Scipy (le cas échéant) trouvée sur le PYTHONPATH actuel.

L'utilisation de runtests.py est l'approche recommandée pour exécuter des tests. Il existe également un certain nombre d'alternatives, par exemple la création sur place ou l'installation dans un environnement virtuel. Certains tests sont très lents et doivent être activés séparément.

Lien vers l'API

Ubuntu et Debian

Exécuter la commande

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

Les versions d'Ubuntu 12.10 ou plus récent et Debian 7.0 ou plus récent répondent à la spécification de pile SciPy actuelle. Les utilisateurs peuvent également souhaiter ajouter le référentiel NeuroDebian pour les packages SciPy supplémentaires.

Convertir une matrice éparse en une matrice dense en utilisant 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]])

Des versions

La première version de SciPy, vsn 0.10, est sortie le 14 août 2001. La version actuelle de SciPy (correcte au 26 juillet 2016) est la version 0.17 (stable) avec la version v18 à venir. Les détails des anciennes versions sont listés ici

Manipulation d'image à l'aide de Scipy (Redimensionnement d'image de base)

SciPy fournit des fonctions de base de manipulation d'images. Celles-ci incluent des fonctions pour lire des images du disque dans des tableaux numpy, pour écrire des tableaux numpy sur le disque en tant qu'images et pour redimensionner des images.

Dans le code suivant, une seule image est utilisée. Il est teinté, redimensionné et enregistré. Les images originales et résultantes sont présentées ci-dessous:

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)

original resized_tinted

Référence

Basic Hello World

Créez un fichier (par exemple hello_world.py) dans un éditeur de texte ou un éditeur python si vous en avez un installé ( choisissez-en un si vous ne le faites pas - SublimeText, Eclipse, NetBeans, SciTe ... il y en a beaucoup!)

hwld = 'Hello world'
print(hwld)

Notez que les variables python n'ont pas besoin d'être déclarées explicitement. la déclaration se produit lorsque vous affectez une valeur avec le signe égal (=) à une variable.

La sortie des deux lignes de code ci-dessus indique que la chaîne "Hello World" sera affichée.

Les fonctions écrites en Python peuvent également être utilisées dans iPython.

Dans ce cas, vous pouvez utiliser le fichier enregistré 'hello_world.py' dans IPython comme suit:

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

Si vous le souhaitez, vous pouvez utiliser deux variables, par exemple une pour hello et une pour world et les concaténer en utilisant le signe plus (+):

 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow