Учитывая следующие данные:Как перенести целые группы в панд GroupBy
data = {'a' : [1,1,1,8,8,3,3,3,3,4,4] }
df = pd.DataFrame(data)
Теперь я хотел бы перенести все это вниз по п группы, так что сохраняется их текущий заказ. Нужный выход для сдвига п = 1 будет:
desired_output = {'a': [NaN,NaN,NaN,1,1,8,8,8,8,3,3] }
desired_output_df = pd.DataFrame(desired_output)
сдвиг п = 2 должно быть:
desired_output = {'a': [NaN,NaN,NaN,NaN,NaN,1,1,1,1,8,8] }
desired_output_df = pd.DataFrame(desired_output)
Я возиться с GroupBy/преобразования/применить, но гаванью» t получил что-нибудь, котор нужно работать до тех пор. Если я GroupBy, а затем перейти, она сдвигает каждую группу, дающую выход:
NOT_desired_output = {'a' : [NaN, 1, 1, NaN, 8, NaN, 3,3,3, NaN, 4]}
Я мог бы грубой силой его итерация, но я уверен, что есть лучшее решение. Есть идеи?
Интересно ... Я пытаюсь понять, работает ли это для переключения более одного раза и обновляется вопрос, чтобы включить его в – user3738579
@ user3738579 Я отредактировал свой ответ для соответствия. –
ah great- я все еще пытаюсь понять, как это работает, но это явно работает! – user3738579