NumPy——python中处理多维数组的有利工具入门使用

这篇博客介绍了NumPy库在深度学习中的应用,包括如何生成和操作一维及多维数组(张量)。内容涉及数组创建、算术运算、矩阵乘法、广播机制以及数组索引和访问。此外,还讲解了数组的形状、数据类型以及如何根据条件筛选元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# deep learning 中经常出现数组和矩阵的计算 numpy提供了很多便捷的方法实现
# NumPy数组(np.array)可以生成N维数组,即可以生成一维数组,多维数组
# 数学上 将一维数组称为向量,二维数组为矩阵
# 可以将一般化之后的向量或矩阵等统一称为张量(tensor)
# 将二维以上的数组称为 多维数组或者张量

import numpy as np

# 生成NumPy数组
arr = [1, 2, 4]
nx = np.array(arr)
print(arr)
print(nx)

# NumPy的算数运算 矩阵运算 元素的个数是重要的
x = np.array([1, 2, 4])
y = np.array([1, 2, 4])
print(x + y)
print(x - y)
print(x * y)
print(x / y)

# 矩阵进行单一标量进行运算
print(x / 2)
print(x * 2)

# NumPy的N维数组
A = np.array([[22, 21], [12, 11]])
print(A)
# 查看形状
print(A.shape)
# 查看数据类型
print(A.dtype)

# NumPy 形状不同的数组之间也可以进行运算
# 矩阵和标量进行运算是通过扩展标量 成为能够满足矩阵运算的形状 然后再和矩阵进行运算 这个过程称为 @TODO 广播(broadcast)
X = np.array([[2, 3], [4, 5]])
Y = np.array([10, 20])
print(X * Y)

# NumPy访问元素 索引访问还是循环索引访问
C = np.array([[51, 55], [14, 19], [0, 4]])
print(C[0])
print(C[1])
print(C[0][1])
for row in C:
    print(row)
    print(row[0])

# 可以指定排序方式
print(C.flatten('K'))
print(C.flatten('F'))

# 一维数组
C = C.flatten()
# 根据索引取二维数组
print(C[np.array([0, 2, 4])])

# 获取 满足一定条件的元素 比如 x > 15
print(C > 15)  # 打印满足条件元素得到布尔类型的数组
print(C[C > 15])      # 输出满足条件元素


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

P(DNA)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值