1. 程式人生 > >課堂練習--計算陣列的最大值,最小值,平均值,標準差,中位數;numpy.random模組提供了產生各種分佈隨機數的陣列;正態分佈;Matplotlib

課堂練習--計算陣列的最大值,最小值,平均值,標準差,中位數;numpy.random模組提供了產生各種分佈隨機數的陣列;正態分佈;Matplotlib

#計算陣列的最大值,最小值,平均值,標準差,中位數
import numpy as np
a=np.array([1, 4, 2, 5, 3, 7, 9, 0])
print(a)

a1=np.max(a)  #最大值
print(a1)
a2=np.min(a)  #最小值
print(a2)
a3=np.mean(a) #平均值
print(a3)
a4=np.std(a)  #標準差
print(a4)
a5=np.median(a) #中位數
print(a5)

#numpy.random模組提供了產生各種分佈隨機數的陣列

import
numpy as np a=np.arange(5) b
=list(range(5)) print(a,b) c=np.array([a,b]) print(c) d=np.arange(0,60,5) .reshape(3,4) print(d) e=np.linspace(0,20) #在指定的間隔內返回均勻間隔的數字。 print(e) f=np.random.random(10) #(0,1)以內10個隨機浮點數 print(f) g=np.random.randint(1,100,[5,5]) #(1,100)以內的5行5列隨機整數 print(g) h=np.random.rand(2,3) #產生2行3列均勻分佈隨機陣列 print(h) i
=np.random.randn(3,3) #3行3列正態分佈隨機資料 print(i)

import numpy as np
import matplotlib.pyplot as plt

mu = 10  #期望為10
sigma = 30  #標準差為30
num = 10000  #個數為10000

rand_data = np.random.normal(mu, sigma, num)
print(rand_data.shape,type(rand_data))

count, bins, ignored = plt.hist(rand_data, 30, normed=True)
plt.plot(bins, 
1/(sigma * np.sqrt(2 * np.pi)) *np.exp( - (bins - mu)**2 / (2 * sigma**2)), linewidth=2, color='r') plt.show()

 

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,20)
plt.plot(x,.5+x)
plt.plot(x,x**2,'r3--')
plt.show()