python概率编程tmp

win10安装anaconda后, 安装pymc,命令行

conda install -c https://conda.binstar.org/pymc pymc

安装matplotlib, 命令行

conda install matplotlib

进入ipython:

import matplotlib.pyplot as plt
import numpy as np
from numpy.random import randn
fig=plt.figure()
ax1=fig.add_subplot(2,2,1)
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,3)
ax1.plot([1,2,3,4])
ax2.plot([1,2,3,5])
#ax3.scatter(np.arange(30), np.arange(30)+3*randn(30))
ax3.plot([2,2,3,5])



fig, axes=plt.subplots(2, 2, sharex=True, sharey=True)
for i in range(2):
	for j in range(2):
		axes[i, j].hist(randn(500), bins=50, color='k', alpha=0.5)  #柱状图
plt.subplots_adjust(wspace=0, hspace=0)


x=np.linspace(-1,1,5)
y=x+1
plt.xlim((-1,5))  #x坐标的范围,从-1到5
new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks) #x坐标上标尺只显示-1到2, 但整个x轴的范围仍是-1到5
plt.plot(x,y,'ob-')



x = np.random.randn(1000)
y1 = np.random.randn(len(x))
y2 = 1.8 + np.exp(x)
ax1 = plt.subplot(1,2,1)
ax1.scatter(x,y1,color='r',alpha=.3,edgecolors='white',label='no correl')
plt.xlabel('no correlation')
plt.grid(True)
plt.legend()
ax2 = plt.subplot(1,2,2) #显示在第二幅图上
ax2.scatter(x,y2,color='g',alpha=.3,edgecolors='gray',label='correl')  #alpha透明度 edgecolors边缘颜色 label图例(结合legend使用)
plt.xlabel('correlation')
plt.grid(True)
plt.legend() #显示图例, 图例的文字描述是上面label参数指定
plt.show()


x = np.random.randn(1000)
y1 = np.random.randn(len(x))
y2 = 1.8 + np.exp(x)
ax1 = plt.subplot()
#下面三个散点图都显示在一幅图上
ax1.scatter(x,y1,color='r',alpha=.3,edgecolors='white',label='no correl')
ax1.scatter(x,y2,color='g',alpha=.3,edgecolors='gray',label='correl')  
ax1.scatter(x,10+x,color='b',alpha=.3,edgecolors='gray',label='dong')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.grid(True)
plt.legend() 



from pylab import *
figure(1, figsize=(6,6))
ax = axes([0.1,0.1,0.8,0.8])
labels ='spring','summer','autumn','winter'
x=[15,30,45,10]
#explode=(0.1,0.2,0.1,0.1)
explode=(0.1,0,0,0)
pie(x, explode=explode, labels=labels, autopct='%1.1f%%', startangle=67)  #饼状图
title('rainy days by season')
show()
//------------------------------------
import numpy as np
import math
import matplotlib as mpl
import matplotlib.pyplot as plt
from scipy import stats
 
#设置显示的字体,否则会乱码
mpl.rcParams['font.sans-serif'] = [u'SimHei']  #黑体,也可以是FangSong/KaiTi等电脑上的字体
mpl.rcParams['axes.unicode_minus'] = False  #对坐标轴上的减号不进行设置,否则会乱码
 
mu = 0
sigma = 1
#取51个点,把中间的0包含进去
x = np.linspace(mu - 3 * sigma, mu + 3 * sigma, 51)
#手动计算概率密度值
y = np.exp(-(x - mu) ** 2 / (2 * sigma ** 2)) / (math.sqrt(2 * math.pi) * sigma)
#背景白色
plt.figure(facecolor = 'w')
#'g-'表示绿色实线绘制线条,'ro'表示红色圈绘制点;linewidth和markersize分别设置线的宽度和点的大小
plt.plot(x, y, 'g-', x, y, 'ro', linewidth = 2 , markersize = 8) #在同一个图上绘制线条和点
plt.xlabel('X', fontsize = 15)
plt.ylabel('Y', fontsize = 15)
plt.title(u'高斯分布', fontsize = 18)
plt.grid(True)
plt.show()
//------------------------------------
import numpy as np
import math
import matplotlib as mpl
import matplotlib.pyplot as plt
from scipy import stats
 
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False
#产生10000个均匀分布的随机值(不一定是均匀分布?),每个xi的值都在0~1之间
x = np.random.rand(10000)
plt.subplot(121) #'121'表示共一行两列,现在绘制第一幅
#bins参数表示横坐标划分为30个区域,alpha表示透明度
plt.hist(x, bins = 30, color = 'g', alpha = 0.5, label = u'均匀分布')
plt.legend(loc = 'upper right')
plt.grid()
//--------------------------------------
#验证中心极限定理
t = 1000  #叠加1000次
a = np.zeros(10000)
for i in range(t):
    a += np.random.uniform(-5, 5, 10000)
a /= t
plt.subplot(122) #绘制第二幅图
# normed参数使得概率密度和为1,即面积
his = plt.hist(a, bins = 30, color = 'g', normed = True, alpha = 0.5, label = u'均匀分布叠加')
#his是一个tuple,当normed为True时,his[0]表示对应的30个概率密度函数值数组。his[1]表是横坐标边界数组
#print 'area: \n', sum(his[0] * np.diff(his[1]))
plt.legend(loc = 'upper right')
plt.grid()
plt.show()

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Python 核心编程》是一本介绍 Python 语言的经典教材,由 Wesley Chun 和 Jeffery E. Friedl 共同编写。本书涵盖了从基础语法到高级主题的广泛知识,包括循环、函数、模块、面向对象编程等内容。 此外,该书还介绍了使用 Python 解决实际问题的方法,例如文件处理、网络编程、数据库连接、GUI 编程等。书中使用了许多实例,通过实例来讲解概念和使用方法,使读者能更好地理解 Python 编程的基本思想和实践技巧。 总的来说,《Python 核心编程》是一本适合 Python 初学者和有一定经验的程序员的参考书籍。读者可以根据自己的需要选择适当的章节进行阅读,也可以作为工具书在实际编程中使用。此外,本书还附有 Python 编译器,读者可以通过编写代码来练习书中的知识点。如果你想学习 Python,那么《Python 核心编程》绝对是一本值得推荐的好书。 ### 回答2: Python核心编程指的是一本以Python编程语言为主题的编程书籍。该书的作者为Wesley Chun,是一本经典的Python编程指南,以深入浅出、通俗易懂的方式介绍了Python语法、常用模块以及实际应用等方面的知识。 Python是一门跨平台高级编程语言,具有易读易写、开发效率高、支持面向对象编程等优点,因此在科学计算、数据处理、网络爬虫、人工智能、机器学习等领域都得到了广泛的应用。 Python核心编程通过优美的代码示例和实用的工具让读者快速掌握Python语法,同时详细介绍了List、Tuple、Dictionary、Set等常用数据结构以及条件语句、循环语句等Python编程基础知识。在程序设计和编码过程中,读者还可以学习如何使用面向对象编程(OOP)的方式来设计解决实际问题的程序。此外,该书还特别介绍了常用的模块和库,包括网络编程、多线程、数据库访问等方面的内容,帮助读者丰富和拓展Python的应用领域。 总的来说,Python核心编程是一本通俗易懂、具有实用价值和实用性的Python编程指南,是Python程序员必备的参考书。对于初学者和中级开发者来说,这本书是很好的“翻译书”,能够帮助他们更好地理解Python编程的概念和应用。对于高级程序员而言,该书更像是一本手册,用于解决一些高级编程难题和实际应用问题。 ### 回答3: Python核心编程是一本极具权威性和实用性的Python编程入门教材。该教材结合了Python的主要语言特征和使用技巧,并通过海量的实例、案例、范例,帮助读者快速入门Python编程,开发Python应用程序。 该教材的目录由浅入深,从Python语言基础概念入手,逐步深入讲解Python数据类型、控制结构、函数、模块、面向对象编程等方面的知识。同时,该教材还具有较为深入的章节讲解,如Python正则表达式、多线程编程、GUI编程等专项技能。 在Python核心编程中,读者还可以学习到如何使用Python编写各种类型的程序,例如网络编程、Web编程、数据库编程、操作系统编程等等。另外,该教材还介绍了大量的Python概念,如递归、异常处理、装饰器、迭代器、生成器等等,这些概念都是Python开发过程中所必须掌握的,对Python编程的提升具有极大的帮助。 总而言之,Python核心编程的核心价值在于为读者提供了全面的Python编程指南,把Python编程的方法和技巧讲解得深入浅出,易于理解。如果你想学习Python编程或提高Python编程技能,这是一个非常好的参考资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值