Dask против Pandas данные могут не иметь здесь никакого значения, за исключением мультииндекса в Dask, но у меня есть Dask как:
dd = pd.DataFrame({
'name': ['a1', 'a1', 'a1', 'a1', 'a2', 'a2', 'a2'],
'key1': ['A', 'A', 'B', 'B', 'A' , 'A', 'B' ],
'key2': ['C', 'D', 'C', 'D', 'C', 'D', 'C' ],
'val1': [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7 ],
'val2': [0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3 ],
})
print(dd)
name key1 key2 val1 val2
0 a1 A C 0.1 0.9
1 a1 A D 0.2 0.8
2 a1 B C 0.3 0.7
3 a1 B D 0.4 0.6
4 a2 A C 0.5 0.5
5 a2 A D 0.6 0.4
6 a2 B C 0.7 0.3
Для 'name' = 'a2', комбинация «key1» = «B» и «key2» = «D» отсутствует. Как бы я заполнил новую строку, где 'val1' и 'val2' установлены в NaN
или какое-то другое значение, без использования мультииндекс (который Dask не поддерживает)? Я также заинтересован в решении Pandas.
Обратите внимание, что это пример, и его необходимо выполнить для нескольких пропущенных комбинаций клавиш.
Ожидаемый результат будет:
name key1 key2 val1 val2
0 a1 A C 0.1 0.9
1 a1 A D 0.2 0.8
2 a1 B C 0.3 0.7
3 a1 B D 0.4 0.6
4 a2 A C 0.5 0.5
5 a2 A D 0.6 0.4
6 a2 B C 0.7 0.3
7 a2 B D nan nan