Как сопоставить датасет и словарь по индексам?
Есть датасет 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 шт):
После обновления вопроса оказалось, что в словаре 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. Не знала, что так можно
если есть какое-либо более красивое и грамотное решение буду признательна!
