Python进阶复习-Numpy库

使用场合

  • 需要使用Pyhton的for循环实现一些向量化/矩阵化操作的场景【比如向量的点乘等】

创建数组

从列表基础上创建

import numpy as np
# 一维数组
n1=np.array([1,5,3,4,5,6],dtype="float32")
print(n1)
# 二维数组
n2=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(n2)
[1. 5. 3. 4. 5. 6.]
[[1 2 3]
 [4 5 6]
 [7 8 9]]

从头开始创建

np.arange(1,9,3)
  • 单位矩阵
import numpy as np

# 创建一个 3x3 的单位矩阵  
matrix = np.eye(3)

# 输出单位矩阵  
print(matrix)  

执行结果:

[[1. 0. 0.]  
 [0. 1. 0.]  
 [0. 0. 1.]]  

四大运算

向量化运算

  • 加减乘除、乘方、取余、整除、绝对值、三角函数、指数、对数
print(n2+3)
[[ 4  5  6]
 [ 7  8  9]
 [10 11 12]]
  • 两个数组的加减乘除

矩阵运算

  • 矩阵转置
import numpy as np

A = np.array([[1, 2], [3, 4]])  # 创建一个 2x2 的矩阵 A  
B = np.array([[5, 6], [7, 8]])  # 创建一个 2x2 的矩阵 B  
A_transpose = A.T
A_transpose
array([[1, 3],
       [2, 4]])
  • 矩阵乘法
import numpy as np

# 定义两个矩阵 A 和 B  
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])  
B = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])

# 计算矩阵乘法  
dot_product = np.dot(A, B)

# 输出结果  
print(dot_product)  

输出结果为:

[ 58  42  29]  
[139  99  63]  
[203 142 105]  

广播运算

  • 广播运算是一种在不同形状的数组之间进行数学运算的方法,它能够自动将较小的数组扩展到与较大的数组相同的形状,从而使它们可以进行元素级别的运算。
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])  # 2x3 的数组  
b = np.array([1, 2, 3])  # 1x3 的数组

result = a + b  # 广播运算  
print(result)  

执行结果:

[[2 4 6]  
 [5 7 9]]  

比较运算和掩码

  • 比较运算
import numpy as np
x=np.random.randint(100,size=(5,5))
print(x)
print(x>60)
print(np.sum(x>60))
[[68 53 32 27 41]
 [87 49 21 48 32]
 [16 31 64 72 34]
 [18 63 65 55 10]
 [93 47 66 18 73]]
[[ True False False False False]
 [ True False False False False]
 [False False  True  True False]
 [False  True  True False False]
 [ True False  True False  True]]
9
  • 掩码
x[x>60]
array([68, 87, 64, 72, 63, 65, 93, 66, 73])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只天蝎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值