iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 17
0
Data Technology

使用Python進行資料分析系列 第 17

[Day17]Numpy的數學&統計方法!

  • 分享至 

  • xImage
  •  

嗨,今天才第17天,
下禮拜期末考了所以非常煎熬(冒煙),突然覺得走了1/2之後開始有點累了(汗)
那今天來說說numpy中統計函數的方法。

其他天Numpy的文章:

首先先import numpy

import numpy as np

Random Data

random.randn()

random.randn()用來隨機建立資料:

np.random.randn()

上面這個可以隨機得到一個數字,可能是負的或正的,可能大於一或小於一,總之就是隨機
Imgur

還可以怎麼用呢?

np.random.randn(2, 4) + 1.920929

上面這裡建立一了一個2 X 4的矩陣,並且隨機給它數值,最後將它加上1.920929這個數子:
Imgur

OK!這就是random.randn()

.random.randint()

接下來要說明的跟上一個有一點點不同,是.randint()

(low, high=None, size=None, dtype='l')

直接來試試看就知道啦:

np.random.randint(4, size=10)

產生<4的整數,大小為10,如圖:
Imgur

當然它有參數(low, high,size)可以自己設定範圍:

np.random.randint(low=4,high=10,size=10)

像上面這樣就會產生大小為10,從4到小於10(9)的整數
Imgur

Methods

可以隨機產生資料之後,就拿產生的資料來做數學運算吧!
其實在pandas裡面也就有數學方法可以使用了哦,不過還是來看看Numpy的部分吧!

.mean()

建立一個5 X 4的隨機資料,並取平均值

x = np.random.randn(5, 4)
x.mean()

分開做會比較清楚:
Imgur

.sum()

建立一個5 X 4的隨機資料,並取總和

x = np.random.randn(5, 4)
x.sum()

Imgur

.min()&.max()

建立一個5 X 4的隨機資料,並取最大最小值。

xmin = np.random.randn(5, 4)
xmin.min()
xmax = np.random.randn(5, 4)
xmax.min()

Imgur

.cumsum()

這個比較特別,會回傳累積的數值:

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()

接下來這個是標準差,統計領域的一定非常熟悉!

std = sqrt(mean(abs(x - x.mean())**2))

上面為標準差公式,但用std()就可以快速的算出來啦:

x = np.array([[1, 2], [3, 4]])
np.std(x)

Imgur

參考資料:
numpy.random.randn
numpy.cumsum


上一篇
[Day16]Numpy的廣播&方法!
下一篇
[Day18]Numpy檔案輸入與輸出!
系列文
使用Python進行資料分析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Eric HSIEH
iT邦新手 5 級 ‧ 2019-04-01 15:03:36

產生 >4的整數 ,大小為10,如圖:
上面好像是 <4的整數喔?

https://ithelp.ithome.com.tw/upload/images/20190401/20115774NAxyr20KXT.jpg

plusone iT邦新手 5 級 ‧ 2019-04-01 15:48:06 檢舉

哈哈哈,謝謝你幫我校正了 很多筆誤XDDD

我要留言

立即登入留言