python - 关于Pandas数据分组展示

查看:214
本文介绍了python - 关于Pandas数据分组展示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

用Pandas建立一个DataFrame的数据:

流水号 处理人 处理时间
10000 张三 2016-10-01
10000 李四 2016-10-02
10001 王五 2016-10-01
10002 赵六 2016-10-03
10001 黄七 2016-10-02
10000 吴八 2016-10-03

要如何处理才能按流水号分组,然后将处理人合并展示(用、或者其他字符连接),类似下表:

流水号 处理人
10000 张三、李四、吴八
10001 王五、黄七
10002 赵六

或者不用Pandas,其他的方法也可以

解决方案

感觉是个挺典型的groupby函数例子:

cols = ['流水号', '处理人', '处理时间']
data = [[10000, '张三', '2016-10-01'],
        [10000, '李四', '2016-10-02'],
        [10001, '王五', '2016-10-01'],
        [10002, '赵六', '2016-10-03'],
        [10001, '黄七', '2016-10-02'],
        [10000, '吴八', '2016-10-03']]
frame = pd.DataFrame(data,columns=cols)

def combination(names):
    return ','.join(names)
    
frame.groupby('流水号').aggregate(combination)

输出结果应该是这样:

In [12]: frame.groupby('流水号').aggregate(combinition)
Out[12]: 
            处理人                              处理时间
流水号                                              
10000  张三,李四,吴八  2016-10-01,2016-10-02,2016-10-03
10001     王五,黄七             2016-10-01,2016-10-02
10002        赵六  

这篇关于python - 关于Pandas数据分组展示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆