raise KeyError(key) from err KeyError

Нужно посчитать прогноз по формуле, это все реализовал, но возникла ошибка, как ее исправит не понимаю, уже много чего перепробовал? вот мой код

import pandas as pd

# Импортирую

excel_file = pd.ExcelFile('example.xlsx')
require_cols = [1]
df = pd.read_excel('example.xlsx', usecols=require_cols)
df_min_max = df.aggregate(['min', 'max'])
my_list = df["Data"].tolist()

# Меняем кол-во интервалов
bins = 9

# Сопоставляем данные с интервалами
df["Interval"] = pd.cut(df["Data"], bins,
                        labels=["A" + str(x) for x in range(1, bins + 1)])
# Разбиваем на группы

df["Interval"] = df["Interval"].astype(str)
df.loc[1:, "Groups"] = df.loc[1:, "Interval"] + "-" + df["Interval"].shift().loc[1:]
#df.loc[1:, "Groups"] = df["Interval"].shift().loc[1:]  # Просто А куда приходим
iv = df["Interval"] = pd.cut(df["Data"], bins, labels=["A" + str(x) for x in range(1, bins + 1)])

res = (df
       .dropna(subset=["Groups"])
       .groupby("Interval")
       .agg(Groups=("Groups", lambda x: ','.join(x.unique()
                                                 )),
            sred=("Data", "mean"),
            pairs=("Data", "count")))


# res["pairs"] = res["Groups"].str.split(";").apply(lambda x: len(x))
# res["sred"] = df.groupby("Interval")["Data"].mean()

# Выводим результаты

# print(my_list)
# print(df_min_max)
# print(iv)
print(res)


def prognoz(words):
    # чисто для того что бы избавиться от A2-A3; A2-A2; A2-A1; A2-A2 и сделать из него множество Аi'
    AAA = []
    for word in words:
        aaa = (str.split(word, sep="-"))
        for a in aaa:
            a = (str.split(a, sep=";"))
            AAA.append(a[0])
    return (set(AAA))


f = []
for i, _ in enumerate(df["Data"]):  # по факту просто цикл от 0 до 21
    A = (df.iloc[i, 1])  # нахожу к какой А отнесли эту строку

    words = (res['Groups'][A])  # нахожу в какую группу входит данные с найденной строки
    par = (res['pairs'][A])  # нахожу на что буду делить
    sum = 0  # сюда прогноз суммирую
    print(A, '*********', words)
    for j in (prognoz(str.split(words))):  # цикл по всем А из группы
        sum += res['sred'][j]
        # print(res['sred'][j])
        prog = sum / par
    f.append(prog)
    print(prog)
print(f)

Вот ошибка

Traceback (most recent call last):
  File "/home/kirill/pythonProject/venv/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2895, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas/_libs/index.pyx", line 70, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 101, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1675, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1683, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'A2,A2'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/kirill/pythonProject/main.py", line 64, in <module>
    sum += res['sred'][j]
  File "/home/kirill/pythonProject/venv/lib/python3.8/site-packages/pandas/core/series.py", line 882, in __getitem__
    return self._get_value(key)
  File "/home/kirill/pythonProject/venv/lib/python3.8/site-packages/pandas/core/series.py", line 989, in _get_value
    loc = self.index.get_loc(label)
  File "/home/kirill/pythonProject/venv/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2893, in get_loc
    casted_key = self._maybe_cast_indexer(key)
  File "/home/kirill/pythonProject/venv/lib/python3.8/site-packages/pandas/core/indexes/category.py", line 437, in _maybe_cast_indexer
    code = self.categories.get_loc(key)
  File "/home/kirill/pythonProject/venv/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2897, in get_loc
    raise KeyError(key) from err
KeyError: 'A2,A2'

Ответы (0 шт):