Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 Introducción a Python
Python es un lenguaje de programación “Open Source”, “No tipado” y “Orientado a Objetos”
que posee una gran cantidad de librerías, paquetes y herramientas, extensamente probadas, para
realizar computación científica.
En el sitio oficial (https://docs.python.org/3/) se puede consultar la documentación y varios
tutoriales del lenguaje.
Los paquetes mas utilizados para computación científica son:
• Numpy (http://www.numpy.org/)
• SciPy (https://www.scipy.org/)
• Matplotlib (http://matplotlib.org/)
• Scikit-learn (http://scikit-learn.org/stable/)
• Pandas (http://pandas.pydata.org/)
• PyCharm (https://www.jetbrains.com/pycharm/)
• Enthought Canopy (https://www.enthought.com/products/canopy/)
• Anaconda(https://www.continuum.io/downloads)
1.1 Numpy
Es una librería fundamental para el desarrollo de computación científica en Python. Entre otras
cosas contiene:
Ademas de su uso científico, Numpy puede ser utilizadas con un eficiente contenedor mul-
tidimensional de datos genéricos. Esta librería es utilizada como dependencia requerida por la
mayoría de las librerías de Python para computación científica.
1
La entidad basica en Numpy son los objetos ndarray: Los previamente mensionados objetos
N-dimensionales, con datos homogeneos y de tamaño fijo. Una instancia de la clase ndarray, rara-
mente es instanciada directamente, en cambio, se utiliza algun metodo que retorna una instancia
de esta clase.
In [4]: b = np.ones((3,2))
b
In [7]: c = np.zeros((3,2))
c
In [10]: d = np.empty((3,2))
d
f = np.logspace(1,2,5)
f
2
1.2 Numpy - Persistir Datos
Para persistir y cargar en memoria los datos alojados en un ndarray, se pueden utilizar algunos de
los siguientes metodos:
0.696469185598
3
In [22]: # Se realiza la Transpuesta del array
print(X.T)
[ 0. 3. 6. 9. 12.]
[[ 0.]
[ 3.]
[ 6.]
[ 9.]
[ 12.]]
(3, 5)
4
• integrate: Integration routines
• interpolate: Interpolation Tools
• io: Data input and output
• lib: Python wrappers to external libraries
• lib.blas: Wrappers to BLAS library
• lib.lapack: Wrappers to LAPACK library
• linalg: Linear algebra routines
• misc: Various utilities that don’t have another home
• ndimage: n-dimensional image package
• odr: Orthogonal Distance Regression
• optimize: Optimization Tools
• signal: Signal Processing Tools
• sparse: Sparse Matrices
• sparse.linalg: Sparse Linear Algebra
• sparse.linalg.dsolve: Linear Solvers
• sparse.linalg.dsolve.umfpack: Interface to the UMFPACK library
• sparse.linalg.eigen: Sparse Eigenvalue Solvers
• sparse.linalg.eigen.arpack: Eigenvalue solver using iterative methods
• sparse.linalg.eigen.lobpcg: Locally Optimal Block Preconditioned Conjugate Gradient
Method (LOBPCG)
• spatial: Spatial data structures and algorithms
• special: Airy Functions
• stats: Statistical Functions
• weave: Wrappers for C/C++ libraries
2.0 2.220446049250313e-14
5
1.4.2 Algunas Distribuciones en SciPy
Distribución Uniforme
Out[34]: 0.5
Distribución Normal
1.5 Matplotlib
Una parte importante del modelado numérico es la visualización de datos. Matplotlib es la librería
mas utilizada para hacerlo en Python
6
Puende encontrar muchos mas ejemplos de tipos de gráficos en
http://matplotlib.org/index.html