Попытка группировки по нескольким столбцам, которые могут содержать пропущенные значения, а также ffill и bfill других столбцов. Я ожидаю, что строки с пропущенными значениями хотя бы в одном из столбцов groupby будут игнорироваться, но похоже, что пропущенное значение не обрабатывается как фактическое пропущенное.
Пример кадра данных:
tt = pd.DataFrame({"a":["a","a","b","b"], "b":["a", None, "b", None], "c": [1, 2, 3, None]})
print(tt)
a b c
0 a a 1.0
1 a None 2.0
2 b b 3.0
3 b None NaN
tt.groupby(["a", "b"]).ffill()
a b c
0 a a 1.0
1 a None 2.0
2 b b 3.0
3 b None 2.0
Ожидаемый результат:
a b c
0 a a 1.0
1 a None 2.0
2 b b 3.0
3 b None NaN
Возможный обходной путь - заполнение столбца b
инкрементным счетчиком, но мне было интересно, есть ли более короткое решение или какой-то ключевой аргумент, который мне не хватает.