Я хочу сгруппировать столбец idx , затем сместить столбец val и оставить последнюю строку с idx .
import pandas as pd
df = pd.DataFrame({'idx':['a','a','b','b'],
'val':['a1','a2','b1','b2']})
df
idx val
0 a a1
1 a a2
2 b b1
3 b b2
Я пыталсяdf['val_shift'] = df.groupby('idx').val.shift(1)
idx val val_shift
0 a a1 NaN
1 a a2 a1
2 b b1 NaN
3 b b2 b1
Но я хочу.
idx val
0 a NaN
1 a a1
2 a a2
3 b NaN
4 b b1
5 b b2
Есть ли способ получить это?