Given pd.DataFrame X with column id, is the call to groupby() always return a DataFrame with the same order with respect to the column id?
X.groupby('id')[col_name].first()
>Solution :
No, by default, groupby sorts the rows on the grouping key(s).
You can disable this behavior by passing sort=False:
X.groupby('id', sort=False)[col_name].first()
Example:
df = pd.DataFrame({'id': [3, 1, 2, 1, 2], 'col_name': list('abcde')})
id col_name
0 3 a
1 1 b
2 2 c
3 1 d
4 2 e
df.groupby('id')['col_name'].first()
id
1 b
2 c
3 a
Name: col_name, dtype: object
df.groupby('id', sort=False)['col_name'].first()
id
3 a
1 b
2 c
Name: col_name, dtype: object