Numpy是Python科学计算的核心库,本教程简单介绍了Numpy的基本操作。
和MATLAB一样,数组是Numpy中额基本操作单元,其初始化方式包括直接使用数据初始化、初始化成全0、全1、单位矩阵、随机矩阵。
import numpy as np
a = np.array([1,2,3])
print(type(a)) #Prints ""
print (a.shape) #Prints "(3,)"
print(a[0],a[1],a[2]) #Prints "1 2 3"
print(a) #Prints "[1,2,3]"
b = np.array([[1,2,3],[4,5,6]]) # Create a rank 2 array
print(b.shape) # Prints "(2, 3)"
print(b[0, 0], b[0, 1], b[1, 0]) # Prints "1 2 4"
Numpy还支持生成特殊格式的数组
# 全零
a = np.zeros((2,2))
print(a)
# 全一
b = np.ones((2,3))
print(b)
#全为固定值
c = np.full((2,2),7)
#方阵
d= np.eye((2))
print(d)
#随机阵
e = np.random.random((2,2))
print(e)
Numpy支持下标访问,可以方便方便获取某个元素或者某块元素。
a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
#获取某个元素
print(a[0,0]) #Prints "1"
#取0到2(不包括2)行的第0个元素
print(a[0:2,0]) #Prints "[1 5]"
#取第0行
print(a[0,:]) #Prints "[1,2,3,4]"
#取第0列
print(a[:,0]) #Prints "[1,5,9]"
Numpy支持矩阵之间的各种计算。
x = np.array([[1,2],[3,4]], dtype=np.float64)
y = np.array([[5,6],[7,8]], dtype=np.float64)
#加法
print(x+y)
print(np.add(x,y))
#Prints "[[ 6. 8.][ 10. 12.]]"
#减法
print(x-y)
print(np.subtract(x,y))
#Prints "[[ -4. -4.][ -4. -4.]]"
#点乘
print(x.dot(y))
print(np.dot(x,y))
#Prints "[[ 19. 22.][ 43. 50.]]"
#对应位置相乘
print(x*y)
print(np.multiply(x,y))
#Prints "[[ 5. 12.][ 21. 32.]]"
#对应位置相除
print(x/y)
print(np.divide(x,y))
#Prints "[[ 0.2 0.333][ 0.428 0.5]]"
#求和操作
#所有元素求和
print(np.sum(x))
#Prints "10.0"
#对列求和
print(np.sum(x,axis = 0))
#Prints "[[4. , 6.]]"
#对行求和
print(np.sum(x,axis = 1))
#Prints "[[3. 7.]]"