圆周率数据可以从百度文库上下载,引用Python的第三方库pandas和matplotlib
#处理圆周率的数据,将数据输出存储为series数据。(Series 是一个一维数组对象 ,类似于 NumPy 的一维 array。它除了包含一组数据还包含一组索引,所以可以把它理解为一组带索引的数组。)
如:
import pandas
pandas.Series([1,2,3,5])
0 1
1 2
2 3
3 5
dtype: int64
from matplotlib import pyplot as plt
import pandas as pd
with open(‘pi.txt’,‘r’) as f:
lines=f.readlines()
pi=[]
for line in lines:
for li in line:
pi.append(li)
while ‘’ in pi:
pi.remove(’’)
pi_series=pd.Series(pi)
#定义函数data__num函数,计算0-9数字的频率。
def data_num(pi_series):
columns=[‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’]
length=len(pi_series)
freq=[]
for leng in range(100,length,500):
pi_seies=pi_series[0:leng]
fr=[]#
for number in columns:
fr.append(pi_series.str.count(number).sum()/leng)
freq.append(fr)
freq=pd.DataFrame(data=freq,columns=columns)
return freq
#画图,画出频率分布图
freq=data_num(pi_series)
plt.figure(figsize=(30,25))
freq.plot()
plt.legend(loc=‘best’)
plt.grid()
plt.show()