pandas group by and assign a group id then ungroup

前端 未结 3 558
我寻月下人不归
我寻月下人不归 2020-12-03 20:10

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         


        
3条回答
  •  广开言路
    2020-12-03 20:45

    You can use sklearn.preprocessing.LabelEncoder method:

    In [79]: from sklearn.preprocessing import LabelEncoder
    
    In [80]: le = LabelEncoder()
    
    In [81]: df['groupId'] = le.fit_transform(df['socialmedia'])+1
    
    In [82]: df
    Out[82]:
        id socialmedia  groupId
    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
    

提交回复
热议问题