#計算數組的最大值,最小值,平均值,標准差,中位數
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()
