14. 14
x = 34 - 23 # Comentario
y = “Hello” # Otro
z = 3.45
if z == 3.45 or y == “Hello”:
x = x + 1
y = y + “ World” # Concatenación de cadenas
print x
print y
29. Intercomunidades Mayo 2016
29
Bibliotecas
Escenciales
NumPy
Hay muchas más..
Incluye un tipo de Arreglo multi-dimensional
muy eficiente. ndarray
Funciones que se ejecutan para cada elemento
del arreglo.
Operaciones con Matrices, Algebra lineal,
estadística.
Integración con FORTRAN, C, C++
42. 42
$ ipython --pylab
In [1]: iris = open(‘iris.data')
In [2]: for renglon in iris:
...: print renglon
...:
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
1. Cargamos los datos
43. 43
In [3]: iris = open('iris.data')
In [4]: iris_data = [renglon for renglon in iris]
In [5]: iris_data
Out[5]:
['5.1,3.5,1.4,0.2,Iris-setosan',
'4.9,3.0,1.4,0.2,Iris-setosan',
'4.7,3.2,1.3,0.2,Iris-setosan',
'4.6,3.1,1.5,0.2,Iris-setosan',
'5.0,3.6,1.4,0.2,Iris-setosan',
'6.3,2.5,5.0,1.9,Iris-virginican',
'6.5,3.0,5.2,2.0,Iris-virginican',
'6.2,3.4,5.4,2.3,Iris-virginican',
'5.9,3.0,5.1,1.8,Iris-virginican',
'n']
In [6]:
1. Cargamos los datos, Comprensión de Listas
44. 44
In [3]: iris = open('iris.data')
In [4]: iris_data = [renglon for renglon in iris]
In [5]: iris_data
Out[5]:
['5.1,3.5,1.4,0.2,Iris-setosan',
'4.9,3.0,1.4,0.2,Iris-setosan',
'4.7,3.2,1.3,0.2,Iris-setosan',
'4.6,3.1,1.5,0.2,Iris-setosan',
'5.0,3.6,1.4,0.2,Iris-setosan',
'6.3,2.5,5.0,1.9,Iris-virginican',
'6.5,3.0,5.2,2.0,Iris-virginican',
'6.2,3.4,5.4,2.3,Iris-virginican',
'5.9,3.0,5.1,1.8,Iris-virginican',
'n']
In [6]:
1. Cargamos los datos, Comprensión de Listas
Ocupamos una
matriz, una lista de
listas
45. 45
In [6]: iris = open('iris.data')
In [7]: iris_data = [renglon.split(',') for renglon in iris]
In [8]: iris_data
Out[8]:
[['5.1', '3.5', '1.4', '0.2', 'Iris-setosan'],
['4.9', '3.0', '1.4', '0.2', 'Iris-setosan'],
['4.7', '3.2', '1.3', '0.2', 'Iris-setosan'],
['4.6', '3.1', '1.5', '0.2', 'Iris-setosan'],
['5.0', '3.6', '1.4', '0.2', 'Iris-setosan'],
['5.4', '3.9', '1.7', '0.4', 'Iris-setosan'],
['4.6', '3.4', '1.4', '0.3', ‘Iris-setosan'],
['6.5', '3.0', '5.2', '2.0', 'Iris-virginican'],
['6.2', '3.4', '5.4', '2.3', 'Iris-virginican'],
['5.9', '3.0', '5.1', '1.8', 'Iris-virginican'],
['n']]
In [9]:
1. Cargamos los datos, Comprensión de Listas
46. 46
In [6]: iris = open('iris.data')
In [7]: iris_data = [renglon.split(',') for renglon in iris]
In [8]: iris_data
Out[8]:
[['5.1', '3.5', '1.4', '0.2', 'Iris-setosan'],
['4.9', '3.0', '1.4', '0.2', 'Iris-setosan'],
['4.7', '3.2', '1.3', '0.2', 'Iris-setosan'],
['4.6', '3.1', '1.5', '0.2', 'Iris-setosan'],
['5.0', '3.6', '1.4', '0.2', 'Iris-setosan'],
['5.4', '3.9', '1.7', '0.4', 'Iris-setosan'],
['4.6', '3.4', '1.4', '0.3', ‘Iris-setosan'],
['6.5', '3.0', '5.2', '2.0', 'Iris-virginican'],
['6.2', '3.4', '5.4', '2.3', 'Iris-virginican'],
['5.9', '3.0', '5.1', '1.8', 'Iris-virginican'],
['n']]
In [9]:
1. Cargamos los datos, Comprensión de Listas
Ocupamos la
matriz, sin el tipo
de flor.
47. 47
In [9]: iris = open('iris.data')
In [10]: iris_data = [renglon.split(',')[:4] for renglon in iris]
In [11]: iris_data
Out[11]:
[['5.1', '3.5', '1.4', '0.2'],
['4.9', '3.0', '1.4', '0.2'],
['4.7', '3.2', '1.3', '0.2'],
['4.6', '3.1', '1.5', '0.2'],
['5.0', '3.6', '1.4', '0.2'],
['5.4', '3.9', '1.7', ‘0.4'],
['6.3', '2.5', '5.0', '1.9'],
['6.5', '3.0', '5.2', '2.0'],
['6.2', '3.4', '5.4', '2.3'],
['5.9', '3.0', '5.1', '1.8'],
['n']]
In [12]:
1. Cargamos los datos, Comprensión de Listas
Ocupamos que la
matriz sea de
flotantes y eliminar
el último registro.
48. 48
In [12]: iris = open('iris.data')
In [13]: iris_data = [map(float, renglon.split(',')[:4]) for renglon in iris
if len(renglon) > 4 ]
In [14]: iris_data
Out[14]:
[[5.1, 3.5, 1.4, 0.2],
[4.9, 3.0, 1.4, 0.2],
[4.7, 3.2, 1.3, 0.2],
[4.6, 3.1, 1.5, 0.2],
[5.0, 3.6, 1.4, 0.2],
[6.7, 3.0, 5.2, 2.3],
[6.3, 2.5, 5.0, 1.9],
[6.5, 3.0, 5.2, 2.0],
[6.2, 3.4, 5.4, 2.3],
[5.9, 3.0, 5.1, 1.8]]
In [15]:
2. Tipo Flotante, Comprensión de Listas
Utilicemos NumPy
para manejar mejor
la matriz.
53. 53
In [24]: x = iris_array[0:50,0]
In [25]: y = iris_array[0:50,1]
In [26]: plot(x, y, 'b.')
Out[26]: [<matplotlib.lines.Line2D
at 0x10e780d10>]
3. matplotlib
54. 54
In [24]: x = iris_array[0:50,0]
In [25]: y = iris_array[0:50,1]
In [26]: plot(x, y, 'b.')
Out[26]: [<matplotlib.lines.Line2D
at 0x10e780d10>]
3. matplotlib
69. Intercomunidades Mayo 2016
69
¡Sigamos en
Contacto!
Mario García Valdez
Ins5tuto Tecnológico de Tijuana
664-123-7806
github.com/mariosky
mario@tectijuana.edu.mx
@mariogarciav
mgv.mx (próximamente)
/mariogarciaface
t
m
r
v
q
70. 70Haskell Logo
Thought up by Darrin Thompson and produced by Jeff Wheeler - Thompson-Wheeler logo on the haskell wiki
Javascript
Rhino - Lisa Williams CC BY 2.0
PERL - Men and camel
No known copyright restrictions
TURBO C++
https://upload.wikimedia.org/wikipedia/commons/1/16/Turbo_CPP_Compiler.jpg
CLOJURE
https://commons.wikimedia.org/wiki/File:Clojure-icon.png
OCTAVE LOGO
https://commons.wikimedia.org/wiki/File:Gnu-octave.png
Julia
https://en.wikipedia.org/wiki/Julia_(programming_language)#/media/File:Julia_prog_language.svg
C#
https://commons.wikimedia.org/wiki/File:Music_C_sharp.svg
ElePHPant
https://www.flickr.com/photos/atomictaco/23708710306
Rust
https://pixabay.com/en/bike-cycle-gear-rust-633208/
Node
https://pixabay.com/en/node-js-logo-nodejs-javascript-736399/