2022年 11月 5日

Python 常用统计包【01-pandas】【02-scipy.stats】【03-numpy】【04-sklearn.linear_model】

pandas-描述性统计

import pandas as pd
df=pd.read_csv('路径',sep='/n')  #读取数据
###描述性统计
df.mean() #求均值
df.median() #求中位数
df.mode() #求众数
df.quantile(q=0.25) #求分位数 q=0.25  0.5  0.75 
df.std() #求标准差
df.var()#求方差
df.sum()#求和
df.skew()#求偏态系数
df.kurt()#求峰态系数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

scipy.stats-正态分布相关

import scipy.stats as ss
ss.norm.stats(moment='mvsk')  #查看正态分布性质,m均值v方差s偏态k峰态
ss.norm.pdf(0.0)#指定横坐标,返回纵坐标
ss.norm.ppf(0.9)#积分,负无穷至X的累积值
ss.norm.cdf(2)#负无穷至x的累积概率
ss.norm.cdf(2)-ss.norm.cdf(-2) #2西格玛值 95.44%
ss.norm.rvs(size=10) #生成符合正态分布的数值
#同理,卡方分布,t分布,F分布
ss.chi2
ss.t
ss.f
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

pandas-相关分析

import pandas as pd
s1=pd.Series([0.1,0.2,01.1,2.4,1.3,0.3,0.5])
s2=pd.Series([0.5,0.4,1.2,2.5,1.1,0.7,0.1])
s1.corr(s2,methon='spearman') #求s1 s2spearman相关系数

#dataframe构造二维数组计算相关系数
df=pd.DataFrame(np.array([s1,s2]).T) #dataframe是针对列进行计算的,需列转置后计算相关系数
df.corr()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

numpy、sklearn.linear_model-回归分析

x=np.arrage(10).astype(np.float).reshape(10,1)
y=x*3+4+np.random((10,1))

from sklearn.linear_model import LinearRegression
reg=LinearRegression()
reg=reg.fit(x,y) #对x,y进行线性拟合
y_pred=reg.predict(x) #y的预测值
reg.coef_ #回归系数
reg.intercept_ #截距
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9