今天继续来讲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