Having the following dataframe,
df = pd.DataFrame({\'device_id\' : [\'0\',\'0\',\'1\',\'1\',\'2\',\'2\'],
\'p_food\' : [0.2,0.1,0.3,0.5,0.1,0.7
df_m = df.drop_duplicates('device_id', keep='first')\
.merge(df, on='device_id')\
.drop_duplicates('device_id', keep='last')\
[['device_id', 'p_food_x', 'p_food_y', 'p_phone_x', 'p_phone_y']]\
.reset_index(drop=True)
print(df_m)
device_id p_food_x p_food_y p_phone_x p_phone_y
0 0 0.2 0.1 0.8 0.9
1 1 0.3 0.5 0.7 0.5
2 2 0.1 0.7 0.9 0.3