python笔记:6.2.1.1单总体均值参数估计_模拟数学成绩

 

# -*- coding: utf-8 -*-
"""
Created on Tue Jun 11 19:15:48 2019

@author: User
"""

# from 中国统计出版社 《Python数据分析基础》

import numpy as np
import pandas as pd
#from scipy import stats
import statsmodels.api as sm
#import matplotlib.pyplot as plt

# 第一步 生成10000条70~100的随机数作为数学成绩,并保存为excel文件
#numfram = 3 * np.random.randn(10000, 1) + 85
#framnum = pd.DataFrame(numfram,columns=['fdata'])
#framnum.to_excel('data\\test_tuiduan.xlsx')

# 第二步 读出保存的成绩数据
fram_all = pd.read_excel('data\\test_tuiduan.xlsx')

'''
statsmodels zconfint_mean(alpha=0.05)
zconfint_mean
参数:
alpha:置信区间的显着性水平
返回值:
lower,upper:浮点数或ndarray,置信区间的下限和上限
'''
print("\n 对10000条数据进行 置信度95% Z估计 显示置信区间为:")
zm=sm.stats.DescrStatsW(fram_all['fdata']).zconfint_mean(alpha=0.05)
print(zm)

#print("\n 对10000条数据进行 置信度95% t估计 显示置信区间为:")
#tm=sm.stats.DescrStatsW(fram_all['fdata']).tconfint_mean(alpha=0.05)
#print(tm)

s1=pd.Series([1.000001])
s1.name='samp_mean'
df_ms_all=pd.DataFrame(s1)
df_ms_one=pd.DataFrame(s1)

'''
从10000条数据进行样本数为100的抽样,生成平均值保存在 df_ms_all 中
'''
print("\n 对10000条数据进行样本数为100的抽样并显示平均值:")
for i in range(10):
    samp_mean=np.mean(fram_all['fdata'].sample(n=100,replace=False))
    print(samp_mean)

    df_ms_one['samp_mean']=samp_mean
    df_ms_all.append(df_ms_one)
    


运行:

 对10000条数据进行 置信度95% Z估计 显示置信区间为:
(84.90591589104501, 85.02308278725054)

 对10000条数据进行样本数为100的抽样并显示平均值:
85.58964005580674
85.1512935271646
84.6032348324715
85.12447142700454
84.91518940764854
84.62399607891646
84.45461910721126
84.8048054850222
85.07767693841332
84.89363482437375

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章