#-*- coding: utf-8 -*- #1、概念:分布分析,是指根据分析目的,将数据(定量数据)进行等距或者不等距的分组(定量分组),进行研究各组分布规律的一种分析方法。 #常用于用户的消费分布、收入分布、年龄分布等 import numpy import pandas data = pandas.read_csv("D:/workspaces/python/pythonStudy/26.csv") #26.csv包括列:用户ID,注册日期,身份证号码,性别,出生日期,年龄。下载地址:https://pan.baidu.com/s/1iT3EXsE0gIKKDYHeLKRyWg aggResult = data.groupby(by=['年龄'])['年龄'].agg({'人数':numpy.size}) #可以看到分组已经成功,但是结果不直观,从结果反映不出每个年龄的人数 #进行数值分段处理: 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(),3)*100 pAggResult['人数'].map('{:,.2f}%'.format)