1. 程式人生 > >機器學習之Python分析圓周率

機器學習之Python分析圓周率

圓周率資料可以從百度文庫上下載,引用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()