开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
11 Star 46 Fork 13

jdwbh/DaPy

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
DaPy
/
code
/
DaPy_fun.py
DaPy
/
code
/
DaPy_fun.py
DaPy_fun.py 3.68 KB
一键复制 编辑 原始数据 按行查看 历史
jdwbh 提交于 2020年07月31日 09:45 +08:00 . update code/DaPy_fun.py.
# -*- coding: utf-8 -*-
"""
### Python数据分析基础教程
### 自定义函数库 DaPy_fun.py
### 王斌会 王术 2020年8月1日
(1)安装库:将DaPy_fun.py文档拷贝到当前工作目录下
(2)调用包:from DaPy_fun import *
(3)使用函数:tab(x)
"""
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as st
def tab(x,plot=False): #计数频数表和绘图
f=x.value_counts();f
s=sum(f);
p=round(f/s*100,3);p
T1=pd.concat([f,p],axis=1);
T1.columns=['例数','构成比'];
T2=pd.DataFrame({'例数':s,'构成比':100.00},index=['合计'])
Tab=T1.append(T2)
if plot:
fig,ax = plt.subplots(1,2,figsize=(15,6))
ax[0].bar(f.index,f); # 条图
ax[1].pie(p,labels=p.index); # 饼图
return(round(Tab,3))
def freq(X,bins=10,density=False): #计量频数表与直方图
if density:
H=plt.hist(X,bins,density=density)
plt.plot(H[1],st.norm.pdf(H[1]),color='r');
else:
H=plt.hist(X,bins);
a=H[1][:-1];a
b=H[1][1:];b
f=H[0];f
p=f/sum(f)*100;p
cp=np.cumsum(p);cp
Freq=pd.DataFrame([a,b,f,p,cp],index=['[下限','上限)','频数','频率(%)','累计频数(%)'])
return(round(Freq.T,2))
def stats(x): #基本统计量
stat=[x.count(),x.min(),x.quantile(.25),x.mean(),x.median(),
x.quantile(.75),x.max(),x.max()-x.min(),x.var(),x.std(),x.skew(),x.kurt()]
stat=pd.Series(stat,index=['Count','Min', 'Q1(25%)','Mean','Median',
'Q3(75%)','Max','Range','Var','Std','Skew','Kurt'])
return(stat)
def norm_p(a=-2,b=2): ### 正态曲线面积图
x=np.arange(-4,4,0.1)
y=st.norm.pdf(x)
x1=x[(a<=x) & (x<=b)];x1
y1=y[(a<=x) & (x<=b)];y1
p=st.norm.cdf(b)-st.norm.cdf(a);p
#plt.title("N(0,1)分布: [%6.3f %6.3f] p=%6.4f"%(a,b,p))
plt.plot(x,y);
plt.hlines(0,-4,4);
plt.vlines(x1,0,y1,colors='r');
plt.text(-0.5,0.2,"%5.2f%" % (p*100.0),fontsize=15);
#norm_p(1.6,4)
#norm_p(1.24,4)
#norm_p(-0.67,4)
def t_p(a=-2,b=2,df=10,k=0.1):
x=np.arange(-4,4,k)
y=st.t.pdf(x,df)
x1=x[(a<=x) & (x<=b)];x1
y1=y[(a<=x) & (x<=b)];y1
p=st.t.cdf(b,df)-st.t.cdf(a,df);p
plt.plot(x,y);
plt.title("t(%2d): [%6.3f %6.3f] p=%6.4f"%(df,a,b,p))
plt.hlines(0,-4,4); plt.vlines(x1,0,y1,colors='r');
plt.text(-0.5,0.2,"p=%6.4f" % p,fontsize=15);
from math import sqrt
def t_interval(b,x):
a=1-b
n = len(x)
ta=st.t.ppf(1-a/2,n-1);ta
se=x.std()/sqrt(n)
return(x.mean()-ta*se, x.mean()+se*ta)
#t_interval(0.95,BSdata['身高'])
def ttest_1plot(X,mu=0): # 单样本均值t检验图
k=0.1
df=len(X)-1
t1p=st.ttest_1samp(X, popmean = mu);
x=np.arange(-4,4,k); y=st.t.pdf(x,df)
t=abs(t1p[0]);p=t1p[1]
x1=x[x<=-t]; y1=y[x<=-t];
x2=x[x>=t]; y2=y[x>=t];
print(" 单样本t检验\t t=%6.3f p=%6.4f"%(t,p))
print(" t置信区间: ",st.t.interval(0.95,len(X)-1,X.mean(),X.std()))
plt.plot(x,y); plt.hlines(0,-4,4);
plt.vlines(x1,0,y1,colors='r'); plt.vlines(x2,0,y2,colors='r');
plt.text(-0.5,0.05,"p=%6.4f" % t1p[1],fontsize=15);
plt.vlines(st.t.ppf(0.05/2,df),0,0.2,colors='b');
plt.vlines(-st.t.ppf(0.05/2,df),0,0.2,colors='b');
plt.text(-0.5,0.2,r"$\alpha$=%3.2f"%0.05,fontsize=15);
def reglinedemo(n=20): #模拟直线回归
x=np.arange(n)+1
e=np.random.normal(0,1,n)
y=2+0.5*x+e
import statsmodels.api as sm
x1=sm.add_constant(x);x1
fm=sm.OLS(y,x1).fit();fm
plt.plot(x,y,'.',x,fm.fittedvalues,'r-'); #添加回归线,红色
for i in range(len(x)):
plt.vlines(x,y,fm.fittedvalues,linestyles='dotted',colors='b');
#reglinedemo(30); #最小二乘回归示意图---直线回归
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

《Python数据分析基础教程》
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Py-R/DaPy.git
git@gitee.com:Py-R/DaPy.git
Py-R
DaPy
DaPy
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /