2. 2
Python
● Lenguaje de programación
– Interpretado.
– De propósito general.
– Orientado a objetos.
– Fácil de usar.
● Se usa en la NASA.
● Pero no es necesario dominar la tecnología espacial
para usarlo.
4. NumPy
● Biblioteca para cálculos numéricos con Python.
● Proporciona vectores multidimensionales y operaciones
sobre ellos.
● Funcionalidad semejante a la de Matlab (según dicen).
5. NumPy
>>> import numpy as np
>>> x = np.linspace(0, 1, 10)
>>> x
array([ 0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])
>>> y = 2 * x + 1 + np.random.normal(0, 0.1, 10)
>>> y
array([ 0.88954082, 1.25512384, 1.3863797 , 1.77321241, 2.06216476,
2.19758795, 2.29706792, 2.53780433, 2.90609934, 3.12747582])
>>> slope, offset = np.polyfit(x, y, 1)
>>> slope, offset
(2.1361285263597183, 0.9751814266462937)
6. Matplotlib
● Biblioteca para la generación de gráficos con Python.
● Interfaz funcional estilo Matlab.
● Interfaz orientada a objetos para un control más preciso
del resultado.
● Ejemplos.
● Artículos en Pybonacci.
7. 7
Matplotlib
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(0, 1, 200)
>>> y = 2 * x + 1 + np.random.normal(0, 0.1, 200)
>>> slope, offset = np.polyfit(x, y, 1)
>>> plt.plot(x, y, 'x')
[<matplotlib.lines.Line2D object at 0x273b6d0>]
>>> xline = np.array(plt.xlim())
>>> yline = slope * xline + offset
>>> plt.plot(xline, yline)
[<matplotlib.lines.Line2D object at 0x273b310>]
>>> plt.show()
9. Cuaderno de IPython (notebook)
● Interfaz web para el uso interactivo de Python.
● Inspirado en los notebooks de Mathematica y SAGE.
● Permite integrar en un navegador documentos que
intercalan fragmentos de código y su salida (incluyendo
gráficos).
● Ejemplos.
● Articulo en Pybonacci (con vídeo).
10. Pandas
● Biblioteca para el análisis de datos con Python.
● Proporciona estructuras tabulares de datos.
● Hace más amigable el uso de NumPy.
● Facilita el manejo de series temporales.
● Gráficos con Matplotlib.
● Buena integración con el cuaderno de IPython.
● Tutorial.
● Tutorial en video.
11. windng
● Biblioteca para el análisis de datos de viento.
● Medias (mensuales, diarias...) y disponibilidad.
● Periodos de referencia.
● Rosas de frecuencias y energía.
● Perfil vertical.
● Análisis de largo plazo.
● Intensidad de turbulencia.
● Creación de archivos .tab de WasP y .csv de openWind.
12. windng
● Poco madura:
– Escasa funcionalidad implementada hasta ahora.
– Interfaz inestable.
● Ejemplos.
● Perfil vertical.
13. Para saber más
● Python
● NumPy
● Matplotlib
● IPython
● Pandas
● windng