Форум сайта python.su
Всем привет!
Есть задача заполнения пустых ячеек в Data Frame (значений ‘NaN’), проблема в том, что корректно преобразовать типы данных для работы метода fillna.groupby, не могу…
Привожу строки своего Data Frames (прилагаемый файл), в моём случае названного ‘games’.
Моя задача, заполнить все доступные пропуски в столбце ‘Rating’ значениями по следующему принципу:
Если для пустого значения в столбце ‘Rating’ и соответствующем ему названием по столбцу ‘Name’, имеется строка с заполненным значением столбца ‘Rating’ и аналогичным значением в столбце "Name', в пустую ячейку вносим значение столбца ‘Rating’.
В столбце ‘Name’ названия продуктов - их тысячи, количество букв - сотни. В столбце ‘Rating’ специальная буквенная оценка, таких оценок всего 8, но есть такие в названиях которых несколько символов.
Не факт, что аналог будет найден, но заполнится должно более половины пропусков. Если аналог не найден - оставляем всё без изменения.
Единственное, что я смог надумать на этот счет, это
games = games.fillna(games.groupby('name'))
(все буквы в коде строчные).
Но в этом случае, как писал, python жалуется на тип данных, которые просто так не меняются…
Какие есть идеи по решению проблемы?
Прикреплённый файлы:
Безымянный.jpg (86,8 KБ)
Офлайн
Ascat2015При чём тут питон? Ты работаешь с pandas, pandas делают ребята, которые к питону не имеют отношения. Всё, что у тебя не получается сделать, у тебя не получается сделать в pandas.
Но в этом случае, как писал, python жалуется на тип данных, которые просто так не меняются…
Ascat2015Ну, документацию к pandas изучи сначала. Думаю, там это можно сделать, да, но чтобы сделать это, надо сначала тонны документации прочитать.
Какие есть идеи по решению проблемы?
Офлайн