嗨,今天才第17天,
下禮拜期末考了所以非常煎熬(冒煙),突然覺得走了1/2之後開始有點累了(汗)
那今天來說說numpy中統計函數的方法。
其他天Numpy的文章:
首先先import numpy
import numpy as np
random.randn()
用來隨機建立資料:
np.random.randn()
上面這個可以隨機得到一個數字,可能是負的或正的,可能大於一或小於一,總之就是隨機
。
還可以怎麼用呢?
np.random.randn(2, 4) + 1.920929
上面這裡建立一了一個2 X 4
的矩陣,並且隨機給它數值,最後將它加上1.920929這個數子:
OK!這就是random.randn()
接下來要說明的跟上一個有一點點不同,是.randint()
(low, high=None, size=None, dtype='l')
直接來試試看就知道啦:
np.random.randint(4, size=10)
產生<4的整數
,大小為10,如圖:
當然它有參數(low, high,size)可以自己設定範圍:
np.random.randint(low=4,high=10,size=10)
像上面這樣就會產生大小為10,從4到小於10(9)的整數
可以隨機產生資料之後,就拿產生的資料來做數學運算吧!
其實在pandas裡面也就有數學方法可以使用了哦,不過還是來看看Numpy的部分吧!
建立一個5 X 4
的隨機資料,並取平均值
:
x = np.random.randn(5, 4)
x.mean()
分開做會比較清楚:
建立一個5 X 4
的隨機資料,並取總和
:
x = np.random.randn(5, 4)
x.sum()
建立一個5 X 4
的隨機資料,並取最大
跟最小
值。
xmin = np.random.randn(5, 4)
xmin.min()
xmax = np.random.randn(5, 4)
xmax.min()
這個比較特別,會回傳累積的數值:
x = np.array([[2,3,4], [5,6,7]])
np.cumsum(x)
會輸出:
array([ 2, 5, 9, 14, 20, 27])
第一個index為2 = 2
第二個index為2+3 = 5
第三個index為2+3+4 = 9
第四個index為2+3+4+5 = 14
以此類推 。
接下來這個是標準差
,統計領域的一定非常熟悉!
std = sqrt(mean(abs(x - x.mean())**2))
上面為標準差公式,但用std()
就可以快速的算出來啦:
x = np.array([[1, 2], [3, 4]])
np.std(x)
參考資料:
numpy.random.randn
numpy.cumsum
產生 >4的整數
,大小為10,如圖:
上面好像是 <4的整數喔?
哈哈哈,謝謝你幫我校正了 很多筆誤XDDD