Python中的分布分析cut+grou

发布时间:2019-09-07 07:57:48编辑:auto阅读(1987)

    分布分析(cut+groupby)

    根据分析目的,将数据(定量数据)进行等距或者不等距的分组,
    进行研究各组分布规律的一种分析方法。

    import numpy
    import pandas
    
    data = pandas.read_csv(
        'C:/Users/ZL/Desktop/Python/5.3/data.csv'
        
    )
    
    aggResult = data.groupby(
        by=['年龄']
    )['年龄'].agg({
        '人数': numpy.size
    })
    
    data.年龄.hist()
    
    bins = [
        min(data.年龄)-1, 20, 30, 40, max(data.年龄)+1
    ]
    labels = [
        '20岁以及以下', '21岁到30岁', '31岁到40岁', '41岁以上'
    ]
    
    data['年龄分层'] = pandas.cut(
        data.年龄, 
        bins, 
        labels=labels
    )
    
    aggResult = data.groupby(
        by=['年龄分层']
    )['年龄'].agg({
        '人数': numpy.size
    })
    
    pAggResult = round(
        aggResult/aggResult.sum(), 
        2
    )*100
    pAggResult['人数'].map('{:,.2f}%'.format)

    先用cut函数确定好分层,再用groupby函数实现分布分析。

关键字