Python中的分布分析cut+grou

2023-01-31 05:01:54 python 分析 分布

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

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函数实现分布分析。

相关文章