概率论 DEMO
发布于: 2021 年 01 月 16 日
概率论课程,算期望和方差
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
import codecs
import csv
import numpy as np
import matplotlib.pyplot as plt
import math
import pandas as pd
def method(qwl,fcl):
#生成1000个数字
ls = np.random.rand(1000)
# ls = [1,2,3,4,5,6,7]
# print(ls)
#求平均值
arr_mean = np.mean(ls)
# print(arr_mean)
#期望
qw = 0
for i in ls:
qw +=i*1/len(ls)
# print("期望=",qw)
qwl.append(qw)
bzx = math.sqrt(1000) * (arr_mean - 0.5)
fcl.append(bzx)
# def bzc(ls =list,qwl =list,fcl=list):
#
# for i in qwl:
# fcl.append(np.sqrt(1000)*(np.mean(ls)-i))
def data_write_csv(file_name, datas):#file_name为写入CSV文件的路径,datas为要写入数据列表
file_csv = codecs.open(file_name,'w+','utf-8')#追加
writer = csv.writer(file_csv, delimiter=' ', quotechar=' ', quoting=csv.QUOTE_MINIMAL)
for data in datas:
writer.writerow(data)
print("保存文件成功,处理结束")
if __name__ == '__main__':
qwl =[]
fcl =[]
for i in range(0,5000):
print(i)
method(qwl,fcl)
print(fcl)
print(qwl)
#
# fig1 = plt.figure(2)
# plt.subplot(211)
# plt.plot(qwl)
# plt.title = "期望"
#
# # subplot(211)把绘图区域等分为2行*1列共两个区域,然后在区域1(上区域)中创建一个轴对象
# plt.subplot(212) # 在区域2(下区域)创建一个轴对象
# plt.plot(fcl)
# plt.title = "标准差"
# plt.show()
data = []
data.append(qwl)
data = np.transpose(data)
data_write_csv("demo1.csv",data)
# matplotlib模块绘制直方图
# 读入数据
# Titanic = pd.read_csv('/Users/bytedance/Desktop/demo.csv')
#
# # 绘制直方图
# plt.hist(x=Titanic.Age, # 指定绘图数据
# bins=20, # 指定直方图中条块的个数
# color='steelblue', # 指定直方图的填充色
# edgecolor='black' # 指定直方图的边框色
# )
# # 添加x轴和y轴标签
# plt.xlabel('年龄')
# plt.ylabel('频数')
# # 添加标题
# plt.title('乘客年龄分布')
# # 显示图形
# plt.show()
复制代码
划线
评论
复制
发布于: 2021 年 01 月 16 日阅读数: 32
版权声明: 本文为 InfoQ 作者【rainbow】的原创文章。
原文链接:【http://xie.infoq.cn/article/fcda3e7609f7515296ed33e2b】。未经作者许可,禁止转载。
rainbow
关注
还未添加个人签名 2020.07.11 加入
还未添加个人简介
评论