Следующая панды dataframe df1 был сгенерирован:Заменить значение ячейки в пандами dataframe, где значение равно «NaN» со значением из другого/же dataframe
df1 = pd.DataFrame(data = {'Value': [1.989920, 'NaN', -9.363819, 'NaN'], 'Group-Index' : [6, 6, 7, 7], 'Group-Order' : [2, 2, 2, 2], 'Index' : [221, 225, 222, 222] })
Value Group-Index Group-Order Index
221 1.989920 6 2 221
225 NaN 6 2 225
222 -9.363819 7 2 222
278 NaN 7 2 222
нужно учитывать, что индекс панды изменяется, потому что я использовал dataframe вывод из моего фактического проекта.
и есть второй dataframe df2 доступны, который выглядит следующим образом:
df2 = pd.DataFrame({'Value': [1.989920, -9.363819], 'Group-Index' : [6, 7], 'Group-Order' : [2, 2], 'Index' : [221, 222] })
Value Group-Index Group-Order Index
221 1.989920 6 2 221
222 -9.363819 7 2 222
Как я могу искать через колонку GC-Value в первом dataframe и найти все значения NaN, а затем заменить их со значением из второго блока данных, где столбец Group-Index и Group-Order одинаковы в обеих строках обоих фреймов данных?
Другим решением моей проблемы было бы скопировать значение из строки, где значение определено для сопоставления NaN-соты с индексом группы и групповым порядком в пределах того же фрейма df1.
Таким образом, результат должен быть:
Value Group-Index Group-Order Index
221 1.989920 6 2 221
225 1.989920 6 2 225
222 -9.363819 7 2 222
278 -9.363819 7 2 222
Извините, но это решение не работает. Выходной сигнал ошибки отсутствует, и первый dataframe df1 остается неизменным. Я добавил две строки, чтобы легко создавать фреймы данных, на которые я ссылаюсь. – markj