Pandas имеет непоследовательное поведение при применении groupby с одной группой:
(
pd.DataFrame({'c1': [0, 0, 0],
'c2': [1, 2, 3]})
.groupby('c1')
.apply(lambda df: df['c2']).shape
)
равно (1, 3)
, а
(
pd.DataFrame({'c1': [0, 0, 1],
'c2': [1, 2, 3]})
.groupby('c1')
.apply(lambda df: df['c2']).shape
)
равно (3, )
.
Когда в переменной groupby есть только одно уникальное значение, полученный Ser ie заменяется ожидаемым.
Мне нужно согласованное поведение: количество строк должно оставаться на уровне 3 независимо от количества групп.