I have a large data set in the following format:
id, socialmedia
1, facebook
2, facebook
3, google
4, google
5, google
6, twitter
7, google
8, twitter
9, sn
By using ngroup
df['grpId']=df.groupby(' socialmedia').ngroup().add(1)
df
Out[354]:
id socialmedia grpId
0 1 facebook 1
1 2 facebook 1
2 3 google 2
3 4 google 2
4 5 google 2
5 6 twitter 4
6 7 google 2
7 8 twitter 4
8 9 snapchat 3
9 10 twitter 4
10 11 facebook 1
Or pd.factorize and 'categroy'
df['grpId']=pd.factorize(df[' socialmedia'])[0]+1
df
Out[358]:
id socialmedia grpId
0 1 facebook 1
1 2 facebook 1
2 3 google 2
3 4 google 2
4 5 google 2
5 6 twitter 3
6 7 google 2
7 8 twitter 3
8 9 snapchat 4
9 10 twitter 3
10 11 facebook 1
df['grpId']=df[' socialmedia'].astype('category').cat.codes.add(1)
df
Out[356]:
id socialmedia grpId
0 1 facebook 1
1 2 facebook 1
2 3 google 2
3 4 google 2
4 5 google 2
5 6 twitter 4
6 7 google 2
7 8 twitter 4
8 9 snapchat 3
9 10 twitter 4
10 11 facebook 1