今天繼續來講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