numpy作为数据分析,深度学习常用的库,本篇博客我们来介绍numpy的一些进阶用法:
一,numpy的常用简单内置函数:
1.1求和:
a = np.array([[1, 2], [3, 4]]) np.sum(a)
10
1.2求平均值:
np.mean(a) # 求取平均值 2.5
1.3求最小值:
np.min(a) 1
1.4求最大值:
np.max(a) 4
以下就不再一一列举,我转成表格大家可以去Python手动尝试一下。
二,numpy数组运算:
一维数组
2.1加法:
array([ 9, 18, 27, 36, 45]) a = np.array([10, 20, 30, 40, 50]) b = np.arange(1, 6) print(a + b) array([11, 22, 33, 44, 55])
2.2减法
a - b array([ 9, 18, 27, 36, 45])
2.3乘法:
a * b array([ 10, 40, 90, 160, 250])
2.4除法:
a / b array([10., 10., 10., 10., 10.])
二维数组:
2.5加法:
A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) print(A+B) [[6,8], [10,12]]
2.6减法:
A-B
[[-4 -4] [-4 -4]]
2.7乘法
A*B
[[ 5 12] [21 32]]
2.8除法:
A/B
[[0.2 0.33333333] [0.42857143 0.5 ]]
三,矩阵运算:
3.1矩阵乘法
A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) print(np.dot(A,B))
[[19 22] [43 50]]
3.2矩阵转置
print(A.T)
[[1 3] [2 4]]
3.3求逆矩阵
np.linalg.inv(A)
[[-2. 1. ] [ 1.5 -0.5]]
四,numpy广播机制:
术语广播是指 NumPy 在算术运算期间处理不同形状的数组的能力。 对数组的算术运算通常在相应的元素上进行。 如果两个阵列具有完全相同的形状,则这些操作被无缝执行。
a = np.array([1,2,3,4]) b = np.array([10,20,30,40]) c = a * b print(c)
[10 40 90 160]
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) b = np.array([1, 2, 3])
# 可直接简写为a+ b, numpy自动实现广播功能,当参与运算的操作数的维度不一样时 a + b
array([[ 2, 4, 6], [ 5, 7, 9], [ 8, 10, 12]])