【python】使用scipy库进行描述统计

【python】使用scipy库进行描述统计,第1张

目录

1. 单变量

2. 多变量

2.1 groupby函数的使用,分类统计

2.2 协方差

2.3 皮尔森相关系数


1. 单变量
import numpy as np
import pandas as pd
import scipy as sp
from scipy import stats  # scipy里面关于统计分析的stats

data=np.array([2,3,3,4,4,4,4,5,5,6]) # 创建一个数组

# scipy求和
sum_data=sp.sum(data)

# 求均值或期望
mean_data=sp.mean(data)

# 求方差
sigma_2_data1=sp.var(data,ddof=0) # ddof参数0是方差,1为无偏方差

# 求无偏方差
sigma_2_data2=sp.var(data,ddof=1)

# 求标准差
sigma_data=sp.std(data,ddof=1)

# 求最大最小值
max_data=sp.amax(data)
min_data=sp.amin(data)

# 求中位数
medium_data=sp.median(data)

# 求四分位数
data2=np.array([1,2,3,4,5,6,7,8,9])
stats.scoreatpercentile(data2, 25),stats.scoreatpercentile(data2, 75)
2. 多变量 2.1 groupby函数的使用,分类统计
path=r'C:\Users\xxx\fish_data.xls' # 文件地址,文件内容是关于不同种类鱼的体长
fish_len=pd.read_excel(path)

# 利用groupby函数的分组处理功能,按鱼的种类求体长的均值
group=fish_len.groupby('species')
group是DataFrameGroupBy对象
group.mean() # 按组分类求得平均数

group.var(ddof=1) # 按组分类求得无偏方差

 

group.std(ddof=1) # 按组分类求得无偏标准差

 

group.describe() # 一次性的求出每组的均值、标准差,最大最小值、四分位数

 

2.2 协方差

研究两个变量之间的关系时使用的统计量叫做协方差,协方差的含义如下:
1. 协方差大于0:一个变量取值越大,另一个变量的取值也越大
2. 协方差小于0:一个变量取值越大,另一个变量的取值越小
3. 协方差等于0:两个变量不相关

path=r'C:\Users\xxx\cov.xls'
cov_data=pd.read_excel(path)

# 求协方差,首先把DataFrame中的xy分别取出来,数据结构为Series
x=cov_data['x']
y=cov_data['y']
sp.cov(x,y,ddof=0)  # 求出来的是协方差矩阵,其中副对角线上的元素为协方差

2.3 皮尔森相关系数

协方差最大值和最小值不确定,如果数据的单位变化,协方差也会随之变化;相关系数对协方差进行修正,让结果始终出在-1和1之间。

# 求相关系数
sp.corrcoef(x,y) # 相关系数矩阵,副对角线上的元素为相关系数

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/714015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存