def generate_bilinear(fips, yyyyddd, values): yearly = weather.yearly_daily_ncdf(yyyyddd, values) for (year, daily) in yearly: relative = np.array(daily) - zero relative[relative > 0] = relative[relative > 0] * slope_pos relative[relative < 0] = relative[relative < 0] * slope_neg result = baseline + np.sum(relative) if not np.isnan(result): yield (year, result)
def generate(fips, yyyyddd, temps, **kw): for (year, temps) in weather.yearly_daily_ncdf(yyyyddd, temps): temps = weather_change(temps) results_orig = spline_orig(temps) results = spline(temps) results = np.around(results) bybin = [] avgval = [] for ii in range(len(xx)): which = results == ii bybin.append(sum(which)) avgval.append(np.mean(results_orig[which])) print bybin print avgval yield (year, func(np.sum(results_orig) / 12))
def generate_linear(fips, yyyyddd, values): yearly = weather.yearly_daily_ncdf(yyyyddd, values) for (year, daily) in yearly: result = baseline + np.sum((np.array(daily) - zero) * slope) if not np.isnan(result): yield (year, result)