Números aleatorios en Python con NumPy y SciPy

Introducción En este artículo vamos a hacer un repaso de algunos métodos que tenemos para generar números aleatorios en Python. Los números aleatorios son importantísimos en computación: aquí en Pybonacci ya los hemos aplicado en nuestra simulación de Monte Carlo para calcular áreas de polígonos y en nuestro artículo sobre… Leer más »Números aleatorios en Python con NumPy y SciPy

Aquí Juan Bautista Cabral, de PyAr, ha creado una lista de reproducción en YouTube de los vídeos del track científico de la PyConAr 2012. No os los perdáis 🙂

Desarrollo dirigido por pruebas en Python (I): Una historia que pasa todos los días

Vamos a iniciar una serie de artículos sobre desarrollo dirigido por pruebas en Python (TDD en inglés) con el objetivo de acercarlo a científicos e ingenieros. En el primero presentaremos la idea principal del desarrollo dirigido por pruebas, y para ello empezamos una pequeña historia:
Una empresa de desarrollo de productor de jardinería a medida, GardenTech, tiene un nuevo cliente, el señor Sellers. La reunión de requisitos podría ser algo así:

Ingeniero GardenTech: Buenos días señor Seller, díganos qué es lo que necesita.
Sellers: Necesito una manera de poder regar mis plantas.
GT: Podemos ayudarle, tenemos mucha experiencia en ese campo. ¿En qué ha pensado?
S: Tengo 5 macetas, así que me gustaría llevar el agua para allá y echársela.
GT: Perfecto, le pondremos a su aparato un agujero grande para que pueda llenarlo de agua y muchos pequeñitos para que no tronche las flores.
S: Pero ¿y si se me cae?
GT: Tranquilo, la usabilidad es nuestra especialidad, le añadiremos un asa para que pueda manejarlo y no será muy grande para que no pese.
S: ¿no será grande? Entonces igual lo pierdo.
GT: Todo está pensado, le daremos un color rojo brillante para que pueda encontrarlo a simple vista.
S: ¿Y si me mojo?
GT: Los agujeros pequeños estarán alejados del dispositivo mediante un tubo.
S: Perfecto, veo que piensan en todo.
GT: Somos buenos.

El señor Sellers y GardenTech están de acuerdo  en los requisitos que debe tener el artefacto, y GardenTech comienza a desarrollarlo. Un mes después la empresa llama al seños Sellers. En medio de la sala de reuniones hay una mesa con un bulto cubierto por una sábana.
Leer más »Desarrollo dirigido por pruebas en Python (I): Una historia que pasa todos los días

Meme Python de Año Nuevo 2013

En la primera entrada del año de Pybonacci vamos a «importar» el Meme Python de Año Nuevo. Fue creado en 2009 por Tarek Ziadé, desarrollador Python fundador de la Association Francophone Python y autor de varios libros sobre el lenguaje. Se trata de que copiéis las preguntas y escribáis en vuestros blogs vuestras respuestas. ¡Vamos allá! 🙂

1. ¿Cuál es la aplicación, framework o biblioteca Python más interesante que has descubierto en el 2012?

Sin duda, el más interesante y el que más ha determinado la forma en la que programo con Python ha sido el notebook de IPython, del que ya hablamos en el blog. Además tiene un potencial enorme, hay gente haciendo cosas increíbles con él y está yendo más allá del ecosistema científico. El 2013 va a ser un buen año para IPython 🙂
Leer más »Meme Python de Año Nuevo 2013

Un 2012 de Python científico

Primero de todo, lo más importante, ¡¡¡ha nacido Pybonacci!!!! Un blog dedicado a hablar del uso de Python en el ámbito científico y en español. Si no lo conocéis aún, podéis visitarlo en http://pybonacci.org 🙂

  • Blog (+Twitter, +Fb, +G+) nacido en marzo de 2012
  • Más de 60 artículos publicados
  • Más de 30.000 visitas recibidas
  • Tres autores (esperamos que aumenten en el 2013)
  • Más de 2000 tuits

Venga, hablando en serio, os resumo lo que ha sido este año. Primero veamos las novedades de la base de lo que es Python en el entorno científico, la trinidad: NumPy, matplotlib y SciPy:
NUMPY

MATPLOTLIB

SCIPY

  • Ha salido la versión 0.11 que también es compatible con Python 3.2. Se ha incluido un submódulo dentro de scipy.sparse, se han introducido mejoras en scipy.optimize, scipy.linalg, scipy.interpolate, …

Los tres proyectos se han movido a GitHub, junto con otros, y el desarrollo ha crecido exponencialmente. ¡¡Esto son buenas noticias!!
Leer más »Un 2012 de Python científico

Creando una animación con matplotlib y ffmpeg

En esta nueva entrada vamos a ver una revisión rápida al módulo animation en matplotlib, disponible desde la versión 1.1 de matplotlib.
[Para esta entrada se ha usado matplotlib 1.1.1, numpy 1.6.1, ipython 0.13 sobre python 2.7.3 y ffmpeg como librería externa que usará matplotlib para crear el video de la animación (aunque también puede usar mencoder)] todo ello corriendo en linux. Puede que los usuarios de windows tengan problemas al guardar el video si ffmpeg no está instalado y/o correctamente configurado para que matplotlib pueda trabajar con ffmpeg.
Hay varias formas de hacer una animación usando FuncAnimation, ArtistAnimation y/o TimedAnimation. Las dos primeras formas son clases que heredan de la tercera mientras que la tercera hereda de la clase base Animation.
Para este ejemplo de como hacer una animación con matplotlib y ffmpeg vamos a usar FuncAnimation y vamos a representar la evolución de un atractor de Lorenz en 3D.
Leer más »Creando una animación con matplotlib y ffmpeg