NumPy(2)运算

课题:NumPy(二)运算

np.reshape(shape)  # 不改变当前数组,按照shape创建新的数组
np.resize(shape)  # 改变当前数组,按照shape创建数组
创建数组并且改变形状:
>>>t = np.arange(24).reshape(2, 3, 4)
>>>t
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],
       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])
维度推算
# 如果为某一维度设为-1,则表示该维度的个数不确定,让np去推测
>>>b = np.arange(12)
>>>b
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
>>>b.reshape(-1,2)  # 自动推测第0维的元素个数
array([[ 0,  1],
       [ 2,  3],
       [ 4,  5],
       [ 6,  7],
       [ 8,  9],
       [10, 11]])
>>>b.reshape(-1)  # 变回一维数组
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
加法
>>>a = np.array([0,1,2,3])
>>>b = np.array([3,1,2,3])
>>>a+b  # shape应一致
array([3, 2, 4, 6])
# 一维数组可以和多维数组相加,自动广播
>>>a
array([0, 1, 2, 3])
>>>b = np.array([[0,1,2,3],[4,5,6,7],[8,9,10,11]])
>>>a+b
array([[ 0,  2,  4,  6],
       [ 4,  6,  8, 10],
       [ 8, 10, 12, 14]])
  • 数组间的减法、乘法、除法运算,和加法运算规则相同。
  • 当两个数组中元素的数据类型不同时,精度低的数据类型,会自动转换为精度更高的数据类型,然后再进行运算。
幂运算

求每个元素的n次方

>>>a
array([0, 1, 2, 3])
>>>a ** 2
array([0, 1, 4, 9], dtype=int32)
几种常见的矩阵运算
  • 矩阵运算——矩阵乘法
    乘号运算符:矩阵中对应元素分别相乘
>>>A = np.array(
	[[1,1],
	 [0,1]]
)
>>>B = np.array(
	[[2,0],
	[3,4]]
)
>>>A * B
array([[2, 0],
       [0, 4]])
  • 矩阵相乘:按照矩阵相乘的规则运算
>>>np.matmul(A, B)  # 或 np.dot(A, B)
>>>np.dot(A, B)
array([[5, 4],
       [3, 4]])
>>>np.matmul(A, B)
array([[5, 4],
       [3, 4]])
  • 矩阵运算————转置和求逆
# 矩阵转置:np.transpose()
# 举证求逆:np.linalg.inv()
>>>A.transpose()
array([[1, 0],
       [1, 1]])
>>>np.linalg.inv(A)
array([[ 1., -1.],
       [ 0.,  1.]])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值