【问题标题】:groupby - python pandas dataframegroupby - python 熊猫数据框
【发布时间】:2016-10-09 15:32:21
【问题描述】:

我有一个包含 date,name,id 列的数据框(数据是多余的)。
现在我想获得组合的频率(date,name,id) 为此,我在我的数据框上应用groupby

df.groupby(['date','uname','id']).size()

这给了我这样的结果:

date        uname                id       size                         
2016-02-11  a@abc.com            111       1
            b@abc.com            1080      2
            ar@ata.com           5315      1
                                 5317      1
            aru628@gmail.com     536       2
2-16-02-12  ch45@gmail.com       588       1
                                 593       2    
            doy5@gmail.com       322       1

但我希望我的结果是这样的:

date        uname                id       size                         
2016-02-11  a@abc.com            111       1
2016-02-11  b@abc.com            1080      2
2016-02-11  ar@ata.com           5315      1
2016-02-11  ar@ata.com           5317      1
2016-02-11  aru628@gmail.com     536       2
2-16-02-12  ch45@gmail.com       588       1
2-16-02-12  ch45@gmail.com       593       2    
2-16-02-12  doy5@gmail.com       322       1

欣赏建议

【问题讨论】:

    标签: python pandas dataframe group-by multi-index


    【解决方案1】:

    你需要reset_index:

    df.groupby(['date','uname','id']).size().reset_index()
    
             date             uname    id  size
    0  2016-02-11         a@abc.com   111     1
    1  2016-02-11         b@abc.com  1080     2
    2  2016-02-11        ar@ata.com  5315     1
    3  2016-02-11        ar@ata.com  5317     1
    4  2016-02-11  aru628@gmail.com   536     2
    5  2-16-02-12    ch45@gmail.com   588     1
    6  2-16-02-12    ch45@gmail.com   593     2
    7  2-16-02-12    doy5@gmail.com   322     1
    

    【讨论】:

    • 太酷了!我一直在检查reset_index,但我尝试了一些误解。谢谢!!
    • 很高兴能帮到您!美好的一天!
    猜你喜欢
    • 2013-12-19
    • 2021-04-30
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 2023-01-12
    • 1970-01-01
    相关资源
    最近更新 更多