#python
Вопрос:
n = int(1e4) # number of monte carlo runs
alpha = 0.05 # 95% confidence interval
q = [alpha / 2, 1 - alpha / 2]
# Store the Upper and Lower boundaries of the 95% interval
yerru = []
yerrl = []
yerru_A = []
yerrl_A = []
# Recharge data
data_r = pd.DataFrame({"Linear": mls["Linear"].get_stress("rch"),
"Non-linear": mls["Non-linear"].get_stress("rch")})
for ml in mls.values():
func = ml.stressmodels["rch"].get_stress
params = ml.fit._get_parameter_sample(n=n, name="rch")
data = {}
# Here we run the model n times with different parameter samples
for i, param in enumerate(params):
data[i] = func(p=param)
df = pd.DataFrame.from_dict(data, orient="columns").loc[tmin:tmax_val]
# store recharge estimates at 10-day intervals
df = df.resample(freq).sum()
yerrl.append(df.quantile(q=q, axis=1).transpose().iloc[:,0])
yerru.append(df.quantile(q=q, axis=1).transpose().iloc[:,1])
# store recharge estimates at one year sums
df = df.resample("A").sum()
rch = data_r[ml.name].resample("A").sum()
yerrl_A.append(df.quantile(q=q, axis=1).transpose().subtract(rch, `axis=0).iloc[:,0].dropna())`
yerru_A.append(df.quantile(q=q, axis=1).transpose().subtract(rch, axis=0).iloc[:,1].dropna())
получено сообщение об ошибке—- Ошибка типа: Допустимо только для DatetimeIndex, TimedeltaIndex или PeriodIndex, но получен экземпляр «Index»
в строке— «df = df.повторная выборка(частота).сумма()»
Комментарии:
1. Ошибка вполне очевидна:
df
ваш фрейм данных имеет обычный индекс, но для его использованияresample
вам необходим специальный индекс одного из типов, перечисленных в сообщении об ошибке. Где-то в ваших данных у вас, вероятно, есть какие-то даты или, по крайней мере, годы, поскольку в вашем комментарии говорится, что «оценка пополнения хранилища составляет суммы за один год» , вам нужно использовать это в качестве индекса перед повторной выборкой.