1. 程式人生 > >機器學習之numpy和matplotlib學習(十四)

機器學習之numpy和matplotlib學習(十四)

今天繼續來講numpy中的一些基本函式使用。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : SundayCoder-俊勇
# @File    : numpy6.py
import numpy as np
# numpy基本學習第六課。
# numpy基本函式第二講。

array=np.arange(12).reshape(3,4)
print array
# array為:
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]


# 1、輸出矩陣中的最大值。
print np.max(array)
# 輸出結果:11
# 2、輸出矩陣中的最小值。 print np.min(array) # 輸出結果:0 # 3、ptp函式可以計算陣列的取值範圍。 # 該函式返回的是陣列元素的最大值和最小值之間的差值。 # 也就是說,返回值等於max(array) - min(array)。 print np.ptp(array) # 輸出結果為:11 # 4、median()函式可以幫我們找到陣列中的中位數。 print np.median(array) # 輸出結果為 5.5。 #為什麼會是5.5呢?5.5都沒有出現在矩陣中,怎麼可能?看來你中位數沒有學好!!! # 百度百科:對於有限的數集,可以通過把所有觀察值高低排序後找出正中間的一個作為中位數。
# 如果觀察值有偶數個,通常取最中間的兩個數值的平均數作為中位數。 # 如果元素個數是偶數的話,中位數會是中間兩個數的平均值,這裡是5和6的平均值。 # 根據中位數定義求中位數 # 5、計算算術平均值。 print np.mean(array) # 輸出結果為 5.5。 # 因為所有的元素之和是66,總共有12個元素,所以算術平均值=66/12=5.5 # 6、有時候有一些元素不是按照大小順序排列的,這時候可以使用一些函式來排列陣列。 # 建立一個矩陣如下: array1=np.array([[2,5,3],[7,1,9]],dtype=int) print array1 # 輸出結果:
# [[2 5 3] # [7 1 9]] # 呼叫msort()函式。 print np.msort(array1) # 輸出結果是: # [[2 1 3] # [7 5 9]] # 仔細觀察結果只是對於列的大小進行了重排。 print np.sort(array1) # 輸出結果 # [[2 3 5] # [1 7 9]] # 仔細發現對行元素進行了排列。 # 如果矩陣只有一行。則兩個均可以排序。ravel()函式的作用可以參考之前的第二次教學。 print np.msort(np.ravel(array1)) # 輸出結果:[1 2 3 5 7 9] print np.sort(np.ravel(array1)) # 輸出結果:[1 2 3 5 7 9] # 7、計算矩陣的方差。 # 方差公式:S^2=〈(X1-M)^2+(X2-M)^2+(X3-M)^2+…+(Xn-M)^2〉╱n print np.var(array) # 輸出結果:11.9166666667 # 8、計算矩陣的標準差。[標準差是方差的開平方] # 百科:標準差(Standard Deviation) ,也稱均方差(mean square error)。 # 是各資料偏離平均數的距離的平均數,它是離均差平方和平均後的方根,用σ表示。 # 標準差是方差的算術平方根。標準差能反映一個數據集的離散程度。平均數相同的,標準差未必相同。 # 標準差可以反映平均數不能反映出的東西(比如穩定度等)。 print np.std(array) # 輸出結果:3.45205252953

更新完畢