Démarrer avec scipy

Convertir une matrice clairsemée en une matrice dense à l’aide de 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]])

Manipulation d’images à l’aide de Scipy (redimensionnement d’image de base)

SciPy fournit des fonctions de manipulation d’image de base. Celles-ci incluent des fonctions permettant de lire des images du disque dans des tableaux numpy, d’écrire des tableaux numpy sur le disque sous forme d’images et de 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][1]][1] [![resized_tinted][2]][2]

[Référence][3]

[1] : http://i.stack.imgur.com/K16nx.jpg [2] : http://i.stack.imgur.com/RP5UX.jpg [3] : http://cs231n.github.io/python-numpy-tutorial/#scipy

Bonjour tout le monde de base

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 n’en avez pas][1] - 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 explicitement déclarées ; 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 est 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 exécuter votre fichier enregistré ‘hello_world.py’ dans IPython comme ceci :

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 à l’aide du signe plus (+) :

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

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

[1] : https://wiki.python.org/moin/PythonEditors

##Version 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 v 0.17 (stable) et la v .18 sera bientôt disponible. Les détails des versions antérieures sont répertoriés [ici] [1]

[1] : https://github.com/scipy/scipy/releases

Installation ou configuration

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

Créez une copie du référentiel 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 créer 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 Scipy en premier, donc cela peut prendre un certain temps la première fois. Spécifier -n exécutera les tests sur 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 construction 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][1]

Gratuit 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écentes et Debian 7.0 ou plus récentes répondent à la spécification actuelle de la pile SciPy. Les utilisateurs peuvent également vouloir ajouter le référentiel [NeuroDebian][2] pour des packages SciPy supplémentaires.

[1] : https://docs.scipy.org/doc/scipy/reference/api.html [2] : http://neuro.debian.net/