当前位置:   article > 正文

决策树学生成绩python_基于Python数据分析之pandas统计分析

请使用pandas读取数据并做如下基本分析,计算每个同学的总成绩

pandas模块为我们提供了非常多的描述性统计分析的指标函数,如总和、均值、最小值、最大值等,我们来具体看看这些函数:

1、随机生成三组数据

import numpy as np

import pandas as pd

np.random.seed(1234)

d1 = pd.Series(2*np.random.normal(size = 100)+3)

d2 = np.random.f(2,4,size = 100)

d3 = np.random.randint(1,100,size = 100)

2、统计分析用到的函数

d1.count() #非空元素计算

d1.min() #最小值

d1.max() #最大值

d1.idxmin() #最小值的位置,类似于R中的which.min函数

d1.idxmax() #最大值的位置,类似于R中的which.max函数

d1.quantile(0.1) #10%分位数

d1.sum() #求和

d1.mean() #均值

d1.median() #中位数

d1.mode() #众数

d1.var() #方差

d1.std() #标准差

d1.mad() #平均绝对偏差

d1.skew() #偏度

d1.kurt() #峰度

d1.describe() #一次性输出多个描述性统计指标

必须注意的是,descirbe方法只能针对序列或数据框,一维数组是没有这个方法的

自定义一个函数,将这些统计指标汇总在一起:

def status(x) :

return pd.Series([x.count(),x.min(),x.idxmin(),x.quantile(.25),x.median(),

x.quantile(.75),x.mean(),x.max(),x.idxmax(),x.mad(),x.var(),

x.std(),x.skew(),x.kurt()],index=['总数','最小值','最小值位置','25%分位数',

'中位数','75%分位数','均值','最大值','最大值位数','平均绝对偏差','方差','标准差','偏度','峰度'])

执行该函数,查看一下d1数据集的这些统计函数值:

df = pd.DataFrame(status(d1))

df

结果:

wkg1bfhsdw4.jpg

在实际的工作中,我们可能需要处理的是一系列的数值型数据框,如何将这个函数应用到数据框中的每一列呢?可以使用apply函数,这个非常类似于R中的apply的应用方法。

将之前创建的d1,d2,d3数据构建数据框:

df = pd.DataFrame(np.array([d1,d2,d3]).T, columns=['x1','x2','x3'])

df.head()

df.apply(status)

<
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/777671
推荐阅读
相关标签
  

闽ICP备14008679号