数据分析
#基本统计 #describe()为描述性统计分析函数 from pandas import read_csv df=read_csv('F:/shuju//rz3.csv',sep=',',encoding='utf8') df df.num.describe() df.num.size#这里没有括号 df.num.max() df.num.min() df.num.mean() df.num.var() df.num.std()
#分组分析---根据分组字段将分析对象划分成不同的部分,以对比分析各组之间差异 import numpy from pandas import read_excel df=read_excel('F:/shuju//rz4.xlsx') df df.groupby(by=['班级','性别'])['军训'].agg({'总分':numpy.sum,'个数':numpy.size,'平均数':numpy.mean,'方差':numpy.var,'标准差':numpy.std,'最大值':numpy.max,'最小值':numpy.min})
#分布分析---分布分析师根据分析的目的,将数据进行等距或不等距的分组,是研究各组分布规律的一种方法 import numpy import pandas from pandas import read_excel df=read_excel('F:/shuju//rz4.xlsx') df bins=[min(df.总分)-1,450,500,max(df.总分)+1]#将数据分成三段 labels=['450及其以下','450到500','500及其以上']#给这三段数据贴标签 总分分层=pandas.cut(df.总分,bins,labels) df['总分分层']=总分分层 df.groupby(by=['总分分层'])['总分'].agg({'人数':numpy.size})#确定每个分组有多少个人
#交叉分析---常用于两个或两个以上分组变量之间的关系,以交叉表的形式进行变量之间关系的对比分析 import numpy import pandas from pandas import read_excel #from pandas import piovt_table df=read_excel('F:/shuju//rz4.xlsx') df bins=[min(df.总分)-1,450,500,max(df.总分)+1]#将数据分成三段 labels=['450及其以下','450到500','500及其以上']#给这三段数据贴标签 总分分层=pandas.cut(df.总分,bins,labels) df['总分分层']=总分分层 df.pivot_table(values=['总分'],index=['总分分层'],columns=['性别'],aggfunc=[numpy.size,numpy.mean],fill_value=0)
#结构分析是在各组分析的基础上,计算各组成部分所占的比重 import numpy import pandas from pandas import read_excel #from pandas import piovt_table df=read_excel('F:/shuju//rz4.xlsx') df1=df.pivot_table(values=['总分'],index=['班级'],columns=['性别'],aggfunc=[numpy.sum]) df1 df1.sum()#按列 df1.sum(axis=1)#按行 df1.div(df1.sum(axis=1),axis=0)#按列占比 df1.div(df1.sum(axis=0),axis=1)#按行占比
#相关分析---是研究现象间是否存在某种依存关系,是研究随机变量之间相关关系的一种统计方法 import numpy import pandas from pandas import read_excel df=read_excel('F:/shuju//rz4.xlsx') df['高代'].corr(df['数分'])#两列之间相关度计算 df.loc[:,['英语','体育','军训','计算机基础','解几','数分','高代']].corr()