zoukankan      html  css  js  c++  java
  • pandas agg 后降低df表层

    # 背景介绍 通常我们不会在Pandas中主动设置多层索引,但是如果一个字段做多个不同的聚合运算, 比如sum, max这样形成的Column Level是有层次的,这样阅读非常方便,但是对编程定位比较麻烦. # 数据准备
    import pandas as pd
    import numpy as np
    df = pd.DataFrame(np.arange(0, 14).reshape(7,2),columns =['a','b'] )
    df.a = df.a %3
    df['who'] = 'Bob'
    df.loc[df.a%4==0,'who'] = 'Alice'
    ————————————————

    # 对一个字段同时用3个聚合函数

    gp1 = df.groupby('who').agg({'b':[sum,np.max, np.min], 'a':sum})
    gp1

    索引是有层次的,虚要通过下面这种方式,个人感觉不是很方便.下面介绍2种方法来解决这个问题

    #有层次的索引访问方法
    gp1.loc['Bob', ('b', 'sum')]
    1
    2
    28.0
    1
    # 直接去除一层
    gp2 = gp1.copy(deep=True)
    gp2.columns = gp1.columns.droplevel(0)
    gp2
    ————————————————

    # 把2层合并到一层

    gp3 = gp1.copy(deep=True)
    gp3.columns = ["_".join(x) for x in gp3.columns.ravel()]
    gp3

    原文链接:https://blog.csdn.net/flyfoxs/java/article/details/81346885

  • 相关阅读:
    Java中的并发库学习总结
    Android源码的git下载地址
    Android下载Android源码
    工具类 验证手机邮箱
    hibernate缓存说明
    Hibernate之N+1问题
    常用正则
    Java Base64加密、解密原理Java代码
    Base64加密解密原理以及代码实现(VC++)
    情书经典语录
  • 原文地址:https://www.cnblogs.com/canyangfeixue/p/13124695.html
Copyright © 2011-2022 走看看