当前位置 主页 > 服务器问题 > win服务器问题汇总 > 最大化 缩小

    用Python实现数据的透视表的方法(2)

    栏目:win服务器问题汇总 时间:2019-11-13 21:13

       num1       num2     
    key2  one  three  two  one  three  two
    key1               
    a  0.193332 0.705657 0.203155 -0.165749 2.398164 -1.293595
    b  0.167947 0.204545 0.661460 0.555850 -0.522528 0.143530
    c  0.496993 0.033673 0.206028 -0.115093 0.024650 0.077726

    分类汇总呢并求和:

    data.pivot_table(index='key1',columns='key2',aggfunc='sum')

    结果:

       num1       num2     
    key2  one  three  two  one  three  two
    key1               
    a  0.579996 0.705657 0.203155 -0.497246 2.398164 -1.293595
    b  0.167947 0.204545 0.661460 0.555850 -0.522528 0.143530
    c  0.496993 0.033673 0.412055 -0.115093 0.024650 0.155452

    也可以使用其它自定义函数:

    #定义一个最大值减最小值的函数
    def max_min (group):
     return group.max()-group.min()
    data.pivot_table(index='key1',columns='key2',aggfunc=max_min)

    结果:

       num1     num2    
    key2  one three two  one three  two
    key1             
    a  0.179266 0.0 0.000 3.109405 0.0 0.000000
    b  0.000000 0.0 0.000 0.000000 0.0 0.000000
    c  0.000000 0.0 0.177 0.000000 0.0 1.609466

    (2)通过groupby

    普通的函数如mean,sum可以直接应用:

    data.groupby(['key1','key2']).mean().unstack()

    返回结果:

       num1       num2     
    key2  one  three  two  one  three  two
    key1               
    a  0.193332 0.705657 0.203155 -0.165749 2.398164 -1.293595
    b  0.167947 0.204545 0.661460 0.555850 -0.522528 0.143530
    c  0.496993 0.033673 0.206028 -0.115093 0.024650 0.077726

    以上这篇用Python实现数据的透视表的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。