Как сопоставить датасет и словарь по индексам?

Есть датасет Glres и словарь folds.

folds = {}
folds['test'] = data['Res'].iloc[testfrom:testto]

выше пример заполнения folds. type(folds) - dict

Нужно все значения колонки словаря folds['test'] вставить в колонку датасета Glres['Tst_cls'] в соответствии с ключами folds['test']. Номер строки = номер ключа.

Glres['Tst_cls'] = folds['test']

Так работает, но для тех строк, которым нет соответствующих ключей в folds['test'] в Glres['Tst_cls'] проставляются Nan

Может быть это конечно просто, но ответ так нигде и не нашла.

Прикладываю файлы: Pandas столбец, словарь столбец и результат.

Заменить значения в соответствии с индексами


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

Автор решения: MaxU

После обновления вопроса оказалось, что в словаре folds по ключу test содержится Pandas.Series со значениями, поэтому с folds["test"] можно работать как с обычным Pandas.Series:

Glres.loc[folds["test"].index, 'Tst_cls'] = folds['test']
→ Ссылка
Автор решения: Анна Лебедева

Решение, которое заработало:

Glres['Tst_cls'].iloc[folds['test'].index] = folds['test']

тип folds['test'] оказался pandas.core.series.Series :) несмотря на то что сам folds это dict. Не знала, что так можно

если есть какое-либо более красивое и грамотное решение буду признательна!

→ Ссылка