El objetivo principal de este libro es dar las herramientas de programación necesarias para resolver problemas computacionalmente a estudiantes de ciencias básicas usando Python
. Es nuestra opinión que a diferencia de otras habilidades que deben aprender los estudiantes de ciencias básicas, el aprender a programar debe hacerse a través de la solución de problemas prácticos. En particular, opinamos que los estudiantes deben enfrentarse a problemas que puedan resolver con lo aprendido en sus primeros años de estudios de pregrado. Es por esta razón que cada capítulo en este libro gira alrededor de uno o más problemas específicos y, a medida que avanza el capítulo, se va construyedo una solución a dichos problemas usando el material que queremos desarrollar en el respectivo capítulo y lo aprendido en capítulos anteriores. La construcción de cada solución es progresiva, pues comenzamos resolviendo problemas similares pero más sencillos hasta llegar a la solución final. Además de introducir las herramientas básicas de programación, este libro describe las librerías astropy
, biopython
, NumPy
, pandas
y SciPy
. Las librerías NumPy
y SciPy
son fundamentales para trabajar en computación científica. Mientras que la librería pandas
nos permite un manejo eficiente de datos y facilita el análisis exploratorio de datos. En el último capítulo incluimos una breve introducción a astropy
y biopython
, dos librerías que el lector puede encontrar útil para empezar sus propios proyectos de investigación.
A continuación se encuentran los conjuntos de datos y el código utilizados en el libro. Además, se presentan la versión a color para algunas de las figuras del libro. Finalmente, se encuentran los errrores encontrados a la fecha.
Además del código original, a continuación actualizamos algunos de los bloques de código para que no haya problemas en versiones actuales de Python
.
# Código para generar la Figura 5.2.
# La función sns.distplot() ha sido cambiada por la función sns.displot()
import seaborn as sns
sns.displot(Audaz['velocidad'], kde=True)
# Ejemplo 5.14
# Para hacer la lectura sin que aparezcan mensajes, debemos asignar al
# argumento `engine` el valor 'python':
ws1 = [pd.read_table('http://lib.stat.cmu.edu/datasets/wseries',\
skiprows=34, nrows=23-2*(k==3),
sep='\t\s\s|\s\s',\
header=None, usecols=range(2*k,2*k+2),\
names = ['Año','serie'], engine='python')\
for k in range(4)]
Figura | Descripción |
---|---|
catedralGris.png : Figura 1.1: Imagen representada en Python como una matriz de tamaño 521 × 1275 píxeles. | |
Catedral.jpg : Figura 1.1 a color | |
catedralGrisBorrosa.png : Figura 3.5: Imagen resultado de aplicar la función ImagenBorrosa() a la imagen en la Figura 1.1. | |
CatedralGrisBorrosa4.png : Figura 3.6: Imagen resultado de aplicar la función ImagenBorrosa() a la imagen en la Figura 1.1 diez veces. | |
catedralGrisFiltroAlto.png : Figura 3.7: Imagen resultado de aplicar la función ImagenBorrosa() a la imagen en la Figura 1.1 empleando el kernel en la Ecuación (3.7). | |
CircConc.jpg : Figura 6.2 a color | |
HCG_92.jpg : Grupo de galaxies HCG_92. Figura 7.6 (a) a color | |
ROSAT.png : Segundo plano difuso de rayos X suaves obtenido por ROSAT XRT/PSPC en la banda 3/4 keV usando la proyección aitoff y el mapa de color plt.cm.gist_heat (Versión a color de la Figura 7.8) |