Pandas, group by count and add count to original dataframe?

后端 未结 2 1080
陌清茗
陌清茗 2020-12-09 12:26

When trying to count rows with similar \'kind\' in data frame:

import pandas as pd

items = [(\'aaa\',\'aaa text 1\'), (\'aaa\',\'aaa text 2\'), (\'aaa\',\'a         


        
相关标签:
2条回答
  • 2020-12-09 12:37

    IIUC

    In [247]: df['count'] = df.groupby('kind').transform('count')
    
    In [248]: df
    Out[248]:
        kind          msg  count
    0    aaa   aaa text 1      3
    1    aaa   aaa text 2      3
    2    aaa   aaa text 3      3
    3     bb    bb text 1      4
    4     bb    bb text 2      4
    5     bb    bb text 3      4
    6     bb    bb text 4      4
    7   cccc  cccc text 1      2
    8   cccc  cccc text 2      2
    9     dd    dd text 1      1
    10     e     e text 1      1
    11   fff   fff text 1      1
    

    sorting:

    In [249]: df.sort_values('count', ascending=False)
    Out[249]:
        kind          msg  count
    3     bb    bb text 1      4
    4     bb    bb text 2      4
    5     bb    bb text 3      4
    6     bb    bb text 4      4
    0    aaa   aaa text 1      3
    1    aaa   aaa text 2      3
    2    aaa   aaa text 3      3
    7   cccc  cccc text 1      2
    8   cccc  cccc text 2      2
    9     dd    dd text 1      1
    10     e     e text 1      1
    11   fff   fff text 1      1
    
    0 讨论(0)
  • 2020-12-09 12:55

    Here is the simple code to count the frequencies and add a column to the data frame.

    df['count'] = df.groupby('kind')['Kind'].transform('count')
    
    0 讨论(0)
提交回复
热议问题