数据分析

#基本统计
#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()

 

posted on 2018-09-09 20:21  lljaway  阅读(219)  评论(0编辑  收藏  举报

导航