00:19:00 Christian Barreto: https://wetransfer.com/downloads/3ae3d117b187e4bbd3bee277b475fea620210730183316/031862 00:20:28 Christian Barreto: https://wetransfer.com/downloads/3ae3d117b187e4bbd3bee277b475fea620210730183316/031862 00:29:35 Christian Barreto: https://wetransfer.com/downloads/3ae3d117b187e4bbd3bee277b475fea620210730183316/031862 00:30:20 Isabel Huayra-DZ11: SI! 00:53:26 Christian Barreto: ******************** 00:53:28 Christian Barreto: # ejercicio para chuquibambilla %reset -sf import numpy as np import pandas as pd import matplotlib.pyplot as plt file="Chuquibambilla_Puno.xlsx" data=pd.read_excel(file) data 00:55:10 Christian Barreto: # columna a indice del dataframe data_idx=data.set_index("FECHA") data_idx 00:57:25 Christian Barreto: ax=data_idx.plot(figsize=(14,3)) ax.axhline(data_idx.CHUQUIBAMBILLA.mean(),color="red",linestyle="dashed") 00:58:10 Christian Barreto: ax=data_idx.plot(figsize=(14,3)) ax.axhline(data_idx.CHUQUIBAMBILLA.mean(),color="red",linestyle="dashed") print("promedio de toda la data es:", data_idx.CHUQUIBAMBILLA.mean()) 01:05:21 Christian Barreto: ax=(data_idx - data_idx.CHUQUIBAMBILLA.mean()).plot(figsize=(14,3)) ax.axhline(data_idx.CHUQUIBAMBILLA.mean(),color="r",linestyle="dashed") plt.savefig("datos_menos_todoelpromedio.png",dpi=300) 01:09:34 Christian Barreto: # sacamos la media de cada mes promedios=[] desvest=[] for i in np.arange(1,13,1): x=data_idx.loc[data_idx.index.month==i].mean()[0] dst=data_idx.loc[data_idx.index.month==i].std()[0] promedios.append(x) desvest.append(dst) print(promedios) print("--------") print(desvest) 01:14:39 Christian Barreto: data_idx.loc[data_idx.index.month==1]-promedios[0] 01:16:46 Christian Barreto: data_anom=data_idx.copy() for i in np.arange(1,13): data_anom.loc[data_anom.index.month==i]=data_idx.loc[data_idx.index.month==i]-promedios[i-1] 01:23:00 Christian Barreto: data_anom.plot(figsize=(14,3)) plt.savefig("anomalias_chuqui.png",dpi =300) 01:24:49 Christian Barreto: # anomalias vs anomalias STD data_anom_std=data_anom.copy() for i in np.arange(1,13): data_anom_std.loc[data_anom.index.month==i]=(data_idx.loc[data_idx.index.month==i]-promedios[i-1])/desvest[i-1] 01:28:31 Christian Barreto: data_anom_std=data_anom_std.rename(columns={'Anom': 'Anom Est'}) data_anom_std 01:34:53 José Luis Ñiquen Sánchez DZ11: la anterior sentencias también porfavor 01:35:49 Christian Barreto: # concatenamos y comparamos newdata = pd.concat([ data_anom, data_anom_std ],axis=1) newdata.plot() 01:36:43 Christian Barreto: # plot de comparacion anom vs anom std plt.figure() ax=newdata["Anom"].plot(style="k",figsize=(14,3),linewidth = 0.5) ax2=newdata["Anom Est"].plot(secondary_y=True,style="g", linewidth=1, alpha=0.5) ax.set_ylabel("pp anom") ax.right_ax.set_ylabel("pp anom est") ax.set_title("anom vs anom est") ax.set_ylim(-150,150) ax2.set_ylim(-6,6) ax2.axhline(1,color="r",linestyle="solid") ax2.axhline(-1,color="r",linestyle="solid") plt.savefig("anom_vs_anom_est.png",dpi=300) 01:45:19 Christian Davila: Christian, puedes volver a enviar los archivos de datos? 01:46:04 Christian Barreto: https://wetransfer.com/downloads/3ae3d117b187e4bbd3bee277b475fea620210730183316/031862 01:46:13 Christian Davila: Chévere, gracias 02:00:38 Christian Barreto: # plot de comparacion anom vs anom std plt.figure() ax=newdata["Anom"].plot(style="k",figsize=(14,3),linewidth = 0.5) ax2=newdata["Anom Est"].plot(secondary_y=True,style="g", linewidth=1, alpha=0.5) ax.set_ylabel("pp anom") ax.right_ax.set_ylabel("pp anom est") ax.set_title("anom vs anom est") ax.set_ylim(-150,150) ax2.set_ylim(-6,6) ax2.axhline(1,color="r",linestyle="solid") ax2.axhline(-1,color="r",linestyle="solid") plt.savefig("anom_vs_anom_est.png",dpi=300) 02:01:18 Christian Barreto: christian.b.sch@gmail.com 02:08:28 Christian Barreto: https://docs.google.com/spreadsheets/d/1V2KSk0qfBRliTknmHu_jHbHxa4U0Wou0gxhPvTeZ_cM/edit?usp=sharing 02:08:46 Kelita Quispe Vega: sí se puede 02:10:12 Christian Barreto: data_anom=data_anom.rename(columns={"CHUQUIBAMBILLA":"Anom"}) data_anom 02:19:37 Christian Barreto: Hola 02:19:44 Christian Barreto: descarga de datos y script asta el momento 02:19:45 Christian Barreto: https://wetransfer.com/downloads/123ef008c556dbcd7f270b8ba5b4a1bf20210730231515/8e1381bafeeb0118c427f7e427790f1520210730231532/9722d3 02:27:20 Christian Barreto: pip show xarray 02:27:57 Isabel Huayra-DZ11: igual 02:28:28 Christian Barreto: conda install -c anaconda xarray 02:30:42 Christian Barreto: conda install -c conda-forge cartopy 02:30:46 Christian Barreto: pip show cartopy 02:32:39 MARTÍN CAILLAHUA: Ya está. 02:34:38 Christian Barreto: import xarray as xr 02:35:46 Christian Barreto: import xarray as xr 02:45:23 Lia Nicolle: me sale error u.u 02:45:41 Christian Barreto: import numpy as np import pandas as pd import matplotlib.pyplot as plt import xarray as xr dset = xr.open_dataset("precip.mon.mean.nc") print(dset) dset 02:47:13 Christian Barreto: conda install dask netCDF4 bottleneck 02:51:30 Christian Davila: !pip install geos !pip install pyproj !pip install cartopy PARA COLAB 02:56:08 Christian Barreto: conda install dask netCDF4 bottleneck 02:57:58 Stefany Amado Menauth DZ6: me sale esto Christian FileNotFoundError: [Errno 2] No such file or directory: b'C:\\Users\\stefa\\Documents\\CURSO T\xc3\x89CNICAS DE PRON\xc3\x93STICO SENAMHI\\precip.mon.mean.nc' 02:59:42 Stefany Amado Menauth DZ6: ok, gracias 03:04:26 Christian Barreto: ***************************************** 03:07:41 Christian Barreto: import numpy as np import pandas as pd import matplotlib.pyplot as plt import xarray as xr dset = xr.open_dataset("precip.mon.mean.nc") print(dset) dset 03:08:47 Christian Barreto: pp=dset.precip pp 03:08:59 Christian Barreto: #first 1D plot, llamando por index pp1d = pp.isel(lat=10, lon=10) pp1d.plot() 03:11:21 Christian Barreto: pp1d[:200].plot.line(color="purple", marker="o") 03:11:26 Christian Barreto: pp.isel(lon=10, lat=[19, 21, 22]).plot.line(x="time") 03:13:12 Christian Barreto: pp.isel(time=0).plot() 03:14:14 Christian Barreto: pp.isel(time=0).plot(robust=True) 03:14:49 Christian Barreto: #http://xarray.pydata.org/en/stable/user-guide/plotting.html 03:16:27 Christian Barreto: pptrop=pp.sel(lat=slice(30,-30)) 03:17:24 Christian Barreto: pptrop=pp.sel(lat=slice(30,-30)) pptrop.sel(time="2010-01-01").plot(robust=True) 03:23:49 Christian Barreto: # seleccionamos 1981-2010 pp_clim=pptrop.sel(time=slice("1981-01-01","2010-12-01")).groupby("time.month").mean(dim="time",skipna=True) 03:26:02 Christian Barreto: pp_clim.sel(month=1).plot(robust=True) plt.title("Enero Clim, 1981-2010") 03:27:54 Christian Barreto: (pp_clim.sel(month=1)-pp_clim.sel(month=7)).plot(robust=True) 03:28:39 Christian Barreto: (pp_clim.sel(month=1)-pp_clim.sel(month=7)).plot(robust=True) 03:30:44 Christian Barreto: pp_suda=pp.sel(lat=slice(10, -60),lon=slice(250, 350)) #climatologia pp_suda_c=pp_suda.sel(time=slice('1981-01-01', '2010-12-01')).groupby('time.month').mean(dim='time',skipna=True) #anomalia en enero 1983 (pp_suda.sel(time="1983-01-01")-pp_suda_c.sel(month=1)).plot(robust=True,cbar_kwargs={"label": "mm/day"}) plt.title('Anomalia Enero 1983') plt.savefig("pp_1983_anom.png",dpi=300) 03:32:16 Christian Barreto: pp_suda=pp.sel(lat=slice(10, -60),lon=slice(250, 350)) #climatologia pp_suda_c=pp_suda.sel(time=slice('1981-01-01', '2010-12-01')).groupby('time.month').mean(dim='time',skipna=True) #anomalia en enero 1983 (pp_suda.sel(time="1983-01-01")-pp_suda_c.sel(month=1)).plot(robust=True,cbar_kwargs={"label": "mm/day"}) plt.title('Anomalia Enero 1983') plt.savefig("pp_1983_anom.png",dpi=300) 03:33:34 Christian Barreto: #SUBSET SUDAMERICA pp_suda=pp.sel(lat=slice(10, -60),lon=slice(250, 350)) #climatologia pp_suda_c=pp_suda.sel(time=slice('1981-01-01', '2010-12-01')).groupby('time.month').mean(dim='time',skipna=True) #anomalia en enero 1999 (pp_suda.sel(time="1999-01-01")-pp_suda_c.sel(month=1)).plot(robust=True,cbar_kwargs={"label": "mm/day"}) plt.title('Anomalia Enero 1999') 03:34:18 Christian Barreto: pp_suda=pp.sel(lat=slice(10, -60),lon=slice(250, 350)) #climatologia pp_suda_c=pp_suda.sel(time=slice('1981-01-01', '2010-01-01')).groupby('time.month').mean(dim='time',skipna=True) #desviacion estandar pp_suda_std_c=pp_suda.sel(time=slice('1981-01-01', '2010-01-01')).groupby('time.month').std(dim='time',skipna=True) ##anomalia estandrixada en enero 1983 anom83=pp_suda.sel(time="1983-01-01")-pp_suda_c.sel(month=1) anom83std=anom83/pp_suda_std_c.sel(month=1) 03:36:32 Christian Barreto: ************************ 03:36:36 Christian Barreto: pp_suda=pp.sel(lat=slice(10, -60),lon=slice(250, 350)) #climatologia pp_suda_c=pp_suda.sel(time=slice('1981-01-01', '2010-12-01')).groupby('time.month').mean(dim='time',skipna=True) #desviacion estandar pp_suda_std_c=pp_suda.sel(time=slice('1981-01-01', '2010-12-01')).groupby('time.month').std(dim='time',skipna=True) ##anomalia estandrixada en enero 1983 anom83=pp_suda.sel(time="1983-01-01")-pp_suda_c.sel(month=1) anom83std=anom83/pp_suda_std_c.sel(month=1) 03:36:40 Christian Barreto: anom83std.plot(robust=True) 03:37:39 Christian Barreto: anom83std.plot(robust=True) plt.savefig("pp_1983_anom_1.png",dpi=300) 03:40:32 Christian Barreto: import cartopy.crs as ccrs from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter from matplotlib import colorbar, colors import cartopy.feature as cf 03:40:56 Christian Barreto: # Draw coastlines of the Earth ax = plt.axes(projection=ccrs.PlateCarree()) ax.add_feature(cf.BORDERS) #ax.coastlines() ax.add_feature(cf.COASTLINE) 03:42:41 Christian Barreto: # https://scitools.org.uk/cartopy/docs/latest/crs/projections.html 03:45:04 Christian Barreto: ****************************** 03:45:12 Christian Barreto: import cartopy.crs as ccrs from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter from matplotlib import colorbar, colors import cartopy.feature as cf # Draw coastlines of the Earth ax = plt.axes(projection=ccrs.PlateCarree()) ax.add_feature(cf.BORDERS) #ax.coastlines() ax.add_feature(cf.COASTLINE) #adding ejes xticks=([-120,-100,-80,-60,-40,-20,0]) yticks=([-75,-60,-45,-30,-15,0,15]) ax.set_xticks(xticks, crs=ccrs.PlateCarree()) ax.set_yticks(yticks, crs=ccrs.PlateCarree()) lon_formatter = LongitudeFormatter(zero_direction_label=True,number_format='.1f') lat_formatter = LatitudeFormatter(number_format='.1f') ax.xaxis.set_major_formatter(lon_formatter) ax.yaxis.set_major_formatter(lat_formatter) #adding grillas ax.gridlines(draw_labels=False, xlocs=xticks, ylocs=yticks) #plot data levels=[-2.5,-2,-1,0,1,2,3] clrs=["red","brown","peru","beige","skyblue","dodgerblue","purple","pink" ] #anom83std.plot(levels=levels,colors=clrs,cbar_kwargs={"label": "anom. est. de pp (mm/day)"}) anom83std.plot 03:47:50 Christian Barreto: ******************************** 03:47:52 Christian Barreto: ***************************** 03:48:01 Christian Barreto: import cartopy.crs as ccrs from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter from matplotlib import colorbar, colors import cartopy.feature as cf # Draw coastlines of the Earth ax = plt.axes(projection=ccrs.PlateCarree()) ax.add_feature(cf.BORDERS) #ax.coastlines() ax.add_feature(cf.COASTLINE) #adding ejes xticks=([-120,-100,-80,-60,-40,-20,0]) yticks=([-75,-60,-45,-30,-15,0,15]) ax.set_xticks(xticks, crs=ccrs.PlateCarree()) ax.set_yticks(yticks, crs=ccrs.PlateCarree()) lon_formatter = LongitudeFormatter(zero_direction_label=True,number_format='.1f') lat_formatter = LatitudeFormatter(number_format='.1f') ax.xaxis.set_major_formatter(lon_formatter) ax.yaxis.set_major_formatter(lat_formatter) #adding grillas ax.gridlines(draw_labels=False, xlocs=xticks, ylocs=yticks) #plot data levels=[-2.5,-2,-1,0,1,2,3] clrs=["red","brown","peru","beige","skyblue","dodgerblue","purple","pink" ] #anom83std.plot(levels=levels,colors=clrs,cbar_kwargs={"label": "anom. est. de pp (mm/day)"}) anom83std.plot 03:48:22 Christian Barreto: ************** 03:48:23 Christian Barreto: anom83std.plot.contourf(levels=levels,colors=clrs,cbar_kwargs={"label": "anom. est. de pp (mm/day)"}) plt.title('Anomalia Estandarizada de PP Enero 1983') plt.xlabel('longitud') plt.ylabel('latitud') # tamaño correcto de barra ax.set_aspect('auto', adjustable=None) #plt.show() #guarda figura plt.savefig("pp_1983_anom_std_2.png",dpi=300) 03:56:13 Jorge Poma Dz11: Muchas gracias 03:56:18 Isabel Huayra-DZ11: Gracias CHRISTIAN 03:57:27 Christian Barreto: christian.b.sch@gmail.com