Python数据分析与展示:numpy统计函数与梯度函数-4

numpy的统计函数

sum(a, axis=None) 根据轴计算元素和,axis整数或元组
mean(a, axis=None) 根据轴计算元素期望
average(a, axis=None, weights=None) 根据轴计算加权平均数
std(a, axis=None)根据轴计算标准差
var(a, axis=None) 根据轴计算方差 
min(a), max(a)   数组中最大值,最小值
argmin(a), argmax(a) 最大值,最小值降一维后下标
unravel_index(index, shape)根据shape将一维下标转为多维下标
ptp(a) 数组中最大值与最小值差
median(a) 数组中中位数(中值)

numpy的梯度函数

gradient(a) 计算数组的梯度

梯度:连续值之间的变化率,即斜率
XY坐标轴连续三个X坐标对应的Y轴值:a, b, c,其中,b的梯度是: (c‐a)/2
存在两侧值:b = (c‐a)/2
只有一侧值:c = (c‐b)/1

代码实例

# -*- coding: utf-8 -*-

# @File    : func_demo.py
# @Date    : 2018-05-06

import numpy as np

# 初始化测试多维数组
np.random.seed(10)
a = np.random.randint(1, 100, (3, 4))
print(a)
"""
[[10 16 65 29]
 [90 94 30  9]
 [74  1 41 37]]
"""

# 求和
b = np.sum(a)
print(b)  # 496

# 期望
c = np.mean(a, axis=1)
print(c)
# [30.   55.75 38.25]

# 加权平均数
d = np.average(a, axis=1, weights=[10, 5, 1, 1])
print(d)
# [16.11764706 82.88235294 48.41176471]

# 标准差
e = np.std(a)
print(e)
# 30.774267750111548

# 方差
f = np.var(a)
print(f)
# 947.0555555555557

# 最大值与最小值
print(np.min(a)) # 1
print(np.max(a)) # 94

# 扁平化后的下标
print(np.argmin(a)) # 9
print(np.argmax(a)) # 5

# 重塑成多维下标
print(np.unravel_index(np.argmin(a), a.shape))
# (2, 1)

# 数组中最大值与最小值差
print(np.ptp(a)) # 93

# 数组中位数(中值)
print(np.median(a)) # 33.5

# 计算梯度
print(np.gradient(a))
"""
[array([[ 80. ,  78. , -35. , -20. ],
       [ 32. ,  -7.5, -12. ,   4. ],
       [-16. , -93. ,  11. ,  28. ]]), 
array([[  6. ,  27.5,   6.5, -36. ],
       [  4. , -30. , -42.5, -21. ],
       [-73. , -16.5,  18. ,  -4. ]])]
"""


上一篇:编译Linux内核2.6.36


下一篇:SVN(TortoiseSVN)提交时忽略bin跟obj目录