Skip to content

Instantly share code, notes, and snippets.

View pritamd47's full-sized avatar
🎯
Focusing

Pritam Das pritamd47

🎯
Focusing
  • University of Washington
  • Seattle, WA
View GitHub Profile
@pritamd47
pritamd47 / get_stats.py
Created February 15, 2022 22:30
Compute statistics for observed and modeled time-series relevant to hydrological modeling
import scipy.stats as stats
import numpy as np
def get_stats(obs, mod):
corr, corr_p = stats.pearsonr(obs, mod)
nse = 1 - (np.sum((obs - mod)**2)/np.sum((obs - np.mean(obs))**2))
nse1 = 1 - (np.sum(np.abs(obs - mod))/np.sum(np.abs(obs - np.mean(obs))))
rmse = np.sqrt(np.sum((obs-mod)**2)/len(mod))
mae = np.sum(np.abs(mod-obs))/len(mod)
@pritamd47
pritamd47 / clip_ts.py
Last active March 1, 2022 01:23
Clip multiple dataframes with DateTimeIndex to a time-period for which data is available in all the dataframes.
# Clip time-series
def clip_ts(*tss):
mint = max([min(ts.index) for ts in tss])
maxt = min([max(ts.index) for ts in tss])
# clipped_tss = [ts[mint:maxt] for ts in tss]
clipped_tss = [ts.loc[(ts.index>=mint)&(ts.index<=maxt)] for ts in tss]
return clipped_tss