Análisis de precipitación en cuencas con Python Pandas

Los datos de precipitación sobre una cuenca involucran varias estaciones y no están completas. Para el análisis de la precipitación a nivel de cuencas se requiere herramientas potentes como Python y su librería Pandas.

 

Caso de aplicación - Estaciones de la cuenca del Río Cañete

Se tiene 9 estaciones de precipitación en la cuenca del Río Cañete con registros desde el año 1963. A través de scripts en Python vamos a generar gráficos útiles para el análisis de registros.

Datos superpuestos de precipitación para 9 estaciones en la cuenca del Río Cañete.

Datos superpuestos de precipitación para 9 estaciones en la cuenca del Río Cañete.

Estos datos han sido procesados con el Suite Anaconda que usted puede instalar gratuitamente en su computadora de este enlace: http://continuum.io/downloads

 

Script y resultados en IPython

import pandas as pd
import numpy as np
%pylab inline

d_Carania = pd.read_excel('1_CARANIA.xlsx', 'Precipitaciones', index_col=0)
d_Huangascar = pd.read_excel('2_HUANGASCAR.xlsx', 'Precipitaciones', index_col=0)
d_Pacaran = pd.read_excel('3_PACARAN.xlsx', 'Precipitaciones', index_col=0)
d_Tanta = pd.read_excel('4_TANTA.xlsx', 'Precipitaciones', index_col=0)
d_Vilca = pd.read_excel('5_VILCA.xlsx', 'Precipitaciones', index_col=0)
d_Yauyos = pd.read_excel('6_YAUYOS.xlsx', 'Precipitaciones', index_col=0)
d_Huantan = pd.read_excel('7_HUANTAN.xlsx', 'Precipitaciones', index_col=0)
d_Tomas = pd.read_excel('8_TOMAS.xlsx', 'Precipitaciones', index_col=0)
d_Yauricocha = pd.read_excel('9_YAURICOCHA.xlsx', 'Precipitaciones', index_col=0)

plt.close('all')
f, (ax1, ax2, ax3, ax4, ax5, ax6, ax7, ax8, ax9) = plt.subplots(9, 1, sharex=True, sharey=True)
f.set_size_inches(18,12)

ax1.plot(d_Carania, color='#4B4C4E')
ax1.set_ylim(0,50)
ax1.set_xlim(0,18000)
ax1.set_title('Carania')

ax2.plot(d_Huangascar, color='#3F83B7')
ax2.set_title('Huangascar')

ax3.plot(d_Pacaran, color='#7198BC')
ax3.set_title('Pacaran')

ax4.plot(d_Tanta, color='#7B7C7E')
ax4.set_title('Tanta')

ax5.plot(d_Vilca, color='#19375E')
ax5.set_title('Vilca')

ax6.plot(d_Yauyos, color='#3F83B7')
ax6.set_title('Yauyos')

ax7.plot(d_Huantan, color='#5AAACD')
ax7.set_title('Huantan')

ax8.plot(d_Tomas, color='#80BCD8')
ax8.set_title('Tomas')

ax9.plot(d_Yauricocha, color='#7198BC')
ax9.set_title('Yauricocha')
Datos de precipitación para 9 estaciones en la cuenca del Rio Cañete.

Datos de precipitación para 9 estaciones en la cuenca del Rio Cañete.

d_comp = d_Carania
d_comp=d_comp.rename(columns = {'Ppt CARANIA':'Carania'})
d_comp['Huangascar']=d_Huangascar['Ppt HUANGASCAR']
d_comp['Pacaran']=d_Pacaran['Ppt PACARAN']
d_comp['Tanta']=d_Tanta['Ppt TANTA']
d_comp['Vilca']=d_Vilca['Ppt VILCA']
d_comp['Yauyos']=d_Yauyos['Ppt YAUYOS']
d_comp['Huantan']=d_Huantan['Ppt HUANTAN']
d_comp['Tomas']=d_Tomas['Ppt TOMAS']
d_comp['Yauricocha']=d_Yauricocha['Ppt YAURICOCHA']
d_comp.plot(alpha=0.3, cmap='RdYlBu')
figsize(15,10)
xticks(rotation='vertical')
ylim(0,50)
Datos de las estaciones superpuestas en un mismo gráfico.

Datos de las estaciones superpuestas en un mismo gráfico.

d_sliceinf = d_comp[d_comp.index>'1970-06-01']
d_sliceup = d_sliceinf[d_sliceinf.index<'1980-06-01']
d_sliceup.cumsum().plot(linewidth=3, colormap='YlGnBu')
figsize(15,10)
Curva de precipitación acumulada entre los años 1970 y 1980.

Curva de precipitación acumulada entre los años 1970 y 1980.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Posted on August 3, 2014 and filed under Hidroinformática, Hidrología, TutorialHidrologia, TutorialPython.